/****************************************************************************
 *
 * Copyright (C) 2006-2009 Sourcefire, Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License Version 2 as
 * published by the Free Software Foundation.  You may not use, modify or
 * distribute this program under any other version of the GNU General
 * Public License.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 *
 ****************************************************************************/

/*
* sfprimetable.c
*
* Prime number calculation via Table lookups.
*
* This was implemented for use with the hasing functions
* in sfghash, and sfxhash. 
*
*/
#include "sfprimetable.h"
/* 0-8K, increments=8 */
static 
unsigned prime_table0[1024]={
 3, /* 1 */ 
 7, /* 9 */ 
 17, /* 17 */ 
 23, /* 25 */ 
 31, /* 33 */ 
 41, /* 41 */ 
 47, /* 49 */ 
 53, /* 57 */ 
 61, /* 65 */ 
 73, /* 73 */ 
 79, /* 81 */ 
 89, /* 89 */ 
 97, /* 97 */ 
 103, /* 105 */ 
 113, /* 113 */ 
 113, /* 121 */ 
 127, /* 129 */ 
 137, /* 137 */ 
 139, /* 145 */ 
 151, /* 153 */ 
 157, /* 161 */ 
 167, /* 169 */ 
 173, /* 177 */ 
 181, /* 185 */ 
 193, /* 193 */ 
 199, /* 201 */ 
 199, /* 209 */ 
 211, /* 217 */ 
 223, /* 225 */ 
 233, /* 233 */ 
 241, /* 241 */ 
 241, /* 249 */ 
 257, /* 257 */ 
 263, /* 265 */ 
 271, /* 273 */ 
 281, /* 281 */ 
 283, /* 289 */ 
 293, /* 297 */ 
 293, /* 305 */ 
 313, /* 313 */ 
 317, /* 321 */ 
 317, /* 329 */ 
 337, /* 337 */ 
 337, /* 345 */ 
 353, /* 353 */ 
 359, /* 361 */ 
 367, /* 369 */ 
 373, /* 377 */ 
 383, /* 385 */ 
 389, /* 393 */ 
 401, /* 401 */ 
 409, /* 409 */ 
 409, /* 417 */ 
 421, /* 425 */ 
 433, /* 433 */ 
 439, /* 441 */ 
 449, /* 449 */ 
 457, /* 457 */ 
 463, /* 465 */ 
 467, /* 473 */ 
 479, /* 481 */ 
 487, /* 489 */ 
 491, /* 497 */ 
 503, /* 505 */ 
 509, /* 513 */ 
 521, /* 521 */ 
 523, /* 529 */ 
 523, /* 537 */ 
 541, /* 545 */ 
 547, /* 553 */ 
 557, /* 561 */ 
 569, /* 569 */ 
 577, /* 577 */ 
 577, /* 585 */ 
 593, /* 593 */ 
 601, /* 601 */ 
 607, /* 609 */ 
 617, /* 617 */ 
 619, /* 625 */ 
 631, /* 633 */ 
 641, /* 641 */ 
 647, /* 649 */ 
 653, /* 657 */ 
 661, /* 665 */ 
 673, /* 673 */ 
 677, /* 681 */ 
 683, /* 689 */ 
 691, /* 697 */ 
 701, /* 705 */ 
 709, /* 713 */ 
 719, /* 721 */ 
 727, /* 729 */ 
 733, /* 737 */ 
 743, /* 745 */ 
 751, /* 753 */ 
 761, /* 761 */ 
 769, /* 769 */ 
 773, /* 777 */ 
 773, /* 785 */ 
 787, /* 793 */ 
 797, /* 801 */ 
 809, /* 809 */ 
 811, /* 817 */ 
 823, /* 825 */ 
 829, /* 833 */ 
 839, /* 841 */ 
 839, /* 849 */ 
 857, /* 857 */ 
 863, /* 865 */ 
 863, /* 873 */ 
 881, /* 881 */ 
 887, /* 889 */ 
 887, /* 897 */ 
 887, /* 905 */ 
 911, /* 913 */ 
 919, /* 921 */ 
 929, /* 929 */ 
 937, /* 937 */ 
 941, /* 945 */ 
 953, /* 953 */ 
 953, /* 961 */ 
 967, /* 969 */ 
 977, /* 977 */ 
 983, /* 985 */ 
 991, /* 993 */ 
 997, /* 1001 */ 
 1009, /* 1009 */ 
 1013, /* 1017 */ 
 1021, /* 1025 */ 
 1033, /* 1033 */ 
 1039, /* 1041 */ 
 1049, /* 1049 */ 
 1051, /* 1057 */ 
 1063, /* 1065 */ 
 1069, /* 1073 */ 
 1069, /* 1081 */ 
 1087, /* 1089 */ 
 1097, /* 1097 */ 
 1103, /* 1105 */ 
 1109, /* 1113 */ 
 1117, /* 1121 */ 
 1129, /* 1129 */ 
 1129, /* 1137 */ 
 1129, /* 1145 */ 
 1153, /* 1153 */ 
 1153, /* 1161 */ 
 1163, /* 1169 */ 
 1171, /* 1177 */ 
 1181, /* 1185 */ 
 1193, /* 1193 */ 
 1201, /* 1201 */ 
 1201, /* 1209 */ 
 1217, /* 1217 */ 
 1223, /* 1225 */ 
 1231, /* 1233 */ 
 1237, /* 1241 */ 
 1249, /* 1249 */ 
 1249, /* 1257 */ 
 1259, /* 1265 */ 
 1259, /* 1273 */ 
 1279, /* 1281 */ 
 1289, /* 1289 */ 
 1297, /* 1297 */ 
 1303, /* 1305 */ 
 1307, /* 1313 */ 
 1321, /* 1321 */ 
 1327, /* 1329 */ 
 1327, /* 1337 */ 
 1327, /* 1345 */ 
 1327, /* 1353 */ 
 1361, /* 1361 */ 
 1367, /* 1369 */ 
 1373, /* 1377 */ 
 1381, /* 1385 */ 
 1381, /* 1393 */ 
 1399, /* 1401 */ 
 1409, /* 1409 */ 
 1409, /* 1417 */ 
 1423, /* 1425 */ 
 1433, /* 1433 */ 
 1439, /* 1441 */ 
 1447, /* 1449 */ 
 1453, /* 1457 */ 
 1459, /* 1465 */ 
 1471, /* 1473 */ 
 1481, /* 1481 */ 
 1489, /* 1489 */ 
 1493, /* 1497 */ 
 1499, /* 1505 */ 
 1511, /* 1513 */ 
 1511, /* 1521 */ 
 1523, /* 1529 */ 
 1531, /* 1537 */ 
 1543, /* 1545 */ 
 1553, /* 1553 */ 
 1559, /* 1561 */ 
 1567, /* 1569 */ 
 1571, /* 1577 */ 
 1583, /* 1585 */ 
 1583, /* 1593 */ 
 1601, /* 1601 */ 
 1609, /* 1609 */ 
 1613, /* 1617 */ 
 1621, /* 1625 */ 
 1627, /* 1633 */ 
 1637, /* 1641 */ 
 1637, /* 1649 */ 
 1657, /* 1657 */ 
 1663, /* 1665 */ 
 1669, /* 1673 */ 
 1669, /* 1681 */ 
 1669, /* 1689 */ 
 1697, /* 1697 */ 
 1699, /* 1705 */ 
 1709, /* 1713 */ 
 1721, /* 1721 */ 
 1723, /* 1729 */ 
 1733, /* 1737 */ 
 1741, /* 1745 */ 
 1753, /* 1753 */ 
 1759, /* 1761 */ 
 1759, /* 1769 */ 
 1777, /* 1777 */ 
 1783, /* 1785 */ 
 1789, /* 1793 */ 
 1801, /* 1801 */ 
 1801, /* 1809 */ 
 1811, /* 1817 */ 
 1823, /* 1825 */ 
 1831, /* 1833 */ 
 1831, /* 1841 */ 
 1847, /* 1849 */ 
 1847, /* 1857 */ 
 1861, /* 1865 */ 
 1873, /* 1873 */ 
 1879, /* 1881 */ 
 1889, /* 1889 */ 
 1889, /* 1897 */ 
 1901, /* 1905 */ 
 1913, /* 1913 */ 
 1913, /* 1921 */ 
 1913, /* 1929 */ 
 1933, /* 1937 */ 
 1933, /* 1945 */ 
 1951, /* 1953 */ 
 1951, /* 1961 */ 
 1951, /* 1969 */ 
 1973, /* 1977 */ 
 1979, /* 1985 */ 
 1993, /* 1993 */ 
 1999, /* 2001 */ 
 2003, /* 2009 */ 
 2017, /* 2017 */ 
 2017, /* 2025 */ 
 2029, /* 2033 */ 
 2039, /* 2041 */ 
 2039, /* 2049 */ 
 2053, /* 2057 */ 
 2063, /* 2065 */ 
 2069, /* 2073 */ 
 2081, /* 2081 */ 
 2089, /* 2089 */ 
 2089, /* 2097 */ 
 2099, /* 2105 */ 
 2113, /* 2113 */ 
 2113, /* 2121 */ 
 2129, /* 2129 */ 
 2137, /* 2137 */ 
 2143, /* 2145 */ 
 2153, /* 2153 */ 
 2161, /* 2161 */ 
 2161, /* 2169 */ 
 2161, /* 2177 */ 
 2179, /* 2185 */ 
 2179, /* 2193 */ 
 2179, /* 2201 */ 
 2207, /* 2209 */ 
 2213, /* 2217 */ 
 2221, /* 2225 */ 
 2221, /* 2233 */ 
 2239, /* 2241 */ 
 2243, /* 2249 */ 
 2251, /* 2257 */ 
 2251, /* 2265 */ 
 2273, /* 2273 */ 
 2281, /* 2281 */ 
 2287, /* 2289 */ 
 2297, /* 2297 */ 
 2297, /* 2305 */ 
 2311, /* 2313 */ 
 2311, /* 2321 */ 
 2311, /* 2329 */ 
 2333, /* 2337 */ 
 2341, /* 2345 */ 
 2351, /* 2353 */ 
 2357, /* 2361 */ 
 2357, /* 2369 */ 
 2377, /* 2377 */ 
 2383, /* 2385 */ 
 2393, /* 2393 */ 
 2399, /* 2401 */ 
 2399, /* 2409 */ 
 2417, /* 2417 */ 
 2423, /* 2425 */ 
 2423, /* 2433 */ 
 2441, /* 2441 */ 
 2447, /* 2449 */ 
 2447, /* 2457 */ 
 2459, /* 2465 */ 
 2473, /* 2473 */ 
 2477, /* 2481 */ 
 2477, /* 2489 */ 
 2477, /* 2497 */ 
 2503, /* 2505 */ 
 2503, /* 2513 */ 
 2521, /* 2521 */ 
 2521, /* 2529 */ 
 2531, /* 2537 */ 
 2543, /* 2545 */ 
 2551, /* 2553 */ 
 2557, /* 2561 */ 
 2557, /* 2569 */ 
 2557, /* 2577 */ 
 2579, /* 2585 */ 
 2593, /* 2593 */ 
 2593, /* 2601 */ 
 2609, /* 2609 */ 
 2617, /* 2617 */ 
 2621, /* 2625 */ 
 2633, /* 2633 */ 
 2633, /* 2641 */ 
 2647, /* 2649 */ 
 2657, /* 2657 */ 
 2663, /* 2665 */ 
 2671, /* 2673 */ 
 2677, /* 2681 */ 
 2689, /* 2689 */ 
 2693, /* 2697 */ 
 2699, /* 2705 */ 
 2713, /* 2713 */ 
 2719, /* 2721 */ 
 2729, /* 2729 */ 
 2731, /* 2737 */ 
 2741, /* 2745 */ 
 2753, /* 2753 */ 
 2753, /* 2761 */ 
 2767, /* 2769 */ 
 2777, /* 2777 */ 
 2777, /* 2785 */ 
 2791, /* 2793 */ 
 2801, /* 2801 */ 
 2803, /* 2809 */ 
 2803, /* 2817 */ 
 2819, /* 2825 */ 
 2833, /* 2833 */ 
 2837, /* 2841 */ 
 2843, /* 2849 */ 
 2857, /* 2857 */ 
 2861, /* 2865 */ 
 2861, /* 2873 */ 
 2879, /* 2881 */ 
 2887, /* 2889 */ 
 2897, /* 2897 */ 
 2903, /* 2905 */ 
 2909, /* 2913 */ 
 2917, /* 2921 */ 
 2927, /* 2929 */ 
 2927, /* 2937 */ 
 2939, /* 2945 */ 
 2953, /* 2953 */ 
 2957, /* 2961 */ 
 2969, /* 2969 */ 
 2971, /* 2977 */ 
 2971, /* 2985 */ 
 2971, /* 2993 */ 
 3001, /* 3001 */ 
 3001, /* 3009 */ 
 3011, /* 3017 */ 
 3023, /* 3025 */ 
 3023, /* 3033 */ 
 3041, /* 3041 */ 
 3049, /* 3049 */ 
 3049, /* 3057 */ 
 3061, /* 3065 */ 
 3067, /* 3073 */ 
 3079, /* 3081 */ 
 3089, /* 3089 */ 
 3089, /* 3097 */ 
 3089, /* 3105 */ 
 3109, /* 3113 */ 
 3121, /* 3121 */ 
 3121, /* 3129 */ 
 3137, /* 3137 */ 
 3137, /* 3145 */ 
 3137, /* 3153 */ 
 3137, /* 3161 */ 
 3169, /* 3169 */ 
 3169, /* 3177 */ 
 3181, /* 3185 */ 
 3191, /* 3193 */ 
 3191, /* 3201 */ 
 3209, /* 3209 */ 
 3217, /* 3217 */ 
 3221, /* 3225 */ 
 3229, /* 3233 */ 
 3229, /* 3241 */ 
 3229, /* 3249 */ 
 3257, /* 3257 */ 
 3259, /* 3265 */ 
 3271, /* 3273 */ 
 3271, /* 3281 */ 
 3271, /* 3289 */ 
 3271, /* 3297 */ 
 3301, /* 3305 */ 
 3313, /* 3313 */ 
 3319, /* 3321 */ 
 3329, /* 3329 */ 
 3331, /* 3337 */ 
 3343, /* 3345 */ 
 3347, /* 3353 */ 
 3361, /* 3361 */ 
 3361, /* 3369 */ 
 3373, /* 3377 */ 
 3373, /* 3385 */ 
 3391, /* 3393 */ 
 3391, /* 3401 */ 
 3407, /* 3409 */ 
 3413, /* 3417 */ 
 3413, /* 3425 */ 
 3433, /* 3433 */ 
 3433, /* 3441 */ 
 3449, /* 3449 */ 
 3457, /* 3457 */ 
 3463, /* 3465 */ 
 3469, /* 3473 */ 
 3469, /* 3481 */ 
 3469, /* 3489 */ 
 3491, /* 3497 */ 
 3499, /* 3505 */ 
 3511, /* 3513 */ 
 3517, /* 3521 */ 
 3529, /* 3529 */ 
 3533, /* 3537 */ 
 3541, /* 3545 */ 
 3547, /* 3553 */ 
 3559, /* 3561 */ 
 3559, /* 3569 */ 
 3571, /* 3577 */ 
 3583, /* 3585 */ 
 3593, /* 3593 */ 
 3593, /* 3601 */ 
 3607, /* 3609 */ 
 3617, /* 3617 */ 
 3623, /* 3625 */ 
 3631, /* 3633 */ 
 3637, /* 3641 */ 
 3643, /* 3649 */ 
 3643, /* 3657 */ 
 3659, /* 3665 */ 
 3673, /* 3673 */ 
 3677, /* 3681 */ 
 3677, /* 3689 */ 
 3697, /* 3697 */ 
 3701, /* 3705 */ 
 3709, /* 3713 */ 
 3719, /* 3721 */ 
 3727, /* 3729 */ 
 3733, /* 3737 */ 
 3739, /* 3745 */ 
 3739, /* 3753 */ 
 3761, /* 3761 */ 
 3769, /* 3769 */ 
 3769, /* 3777 */ 
 3779, /* 3785 */ 
 3793, /* 3793 */ 
 3797, /* 3801 */ 
 3803, /* 3809 */ 
 3803, /* 3817 */ 
 3823, /* 3825 */ 
 3833, /* 3833 */ 
 3833, /* 3841 */ 
 3847, /* 3849 */ 
 3853, /* 3857 */ 
 3863, /* 3865 */ 
 3863, /* 3873 */ 
 3881, /* 3881 */ 
 3889, /* 3889 */ 
 3889, /* 3897 */ 
 3889, /* 3905 */ 
 3911, /* 3913 */ 
 3919, /* 3921 */ 
 3929, /* 3929 */ 
 3931, /* 3937 */ 
 3943, /* 3945 */ 
 3947, /* 3953 */ 
 3947, /* 3961 */ 
 3967, /* 3969 */ 
 3967, /* 3977 */ 
 3967, /* 3985 */ 
 3989, /* 3993 */ 
 4001, /* 4001 */ 
 4007, /* 4009 */ 
 4013, /* 4017 */ 
 4021, /* 4025 */ 
 4027, /* 4033 */ 
 4027, /* 4041 */ 
 4049, /* 4049 */ 
 4057, /* 4057 */ 
 4057, /* 4065 */ 
 4073, /* 4073 */ 
 4079, /* 4081 */ 
 4079, /* 4089 */ 
 4093, /* 4097 */ 
 4099, /* 4105 */ 
 4111, /* 4113 */ 
 4111, /* 4121 */ 
 4129, /* 4129 */ 
 4133, /* 4137 */ 
 4139, /* 4145 */ 
 4153, /* 4153 */ 
 4159, /* 4161 */ 
 4159, /* 4169 */ 
 4177, /* 4177 */ 
 4177, /* 4185 */ 
 4177, /* 4193 */ 
 4201, /* 4201 */ 
 4201, /* 4209 */ 
 4217, /* 4217 */ 
 4219, /* 4225 */ 
 4231, /* 4233 */ 
 4241, /* 4241 */ 
 4243, /* 4249 */ 
 4253, /* 4257 */ 
 4261, /* 4265 */ 
 4273, /* 4273 */ 
 4273, /* 4281 */ 
 4289, /* 4289 */ 
 4297, /* 4297 */ 
 4297, /* 4305 */ 
 4297, /* 4313 */ 
 4297, /* 4321 */ 
 4327, /* 4329 */ 
 4337, /* 4337 */ 
 4339, /* 4345 */ 
 4349, /* 4353 */ 
 4357, /* 4361 */ 
 4363, /* 4369 */ 
 4373, /* 4377 */ 
 4373, /* 4385 */ 
 4391, /* 4393 */ 
 4397, /* 4401 */ 
 4409, /* 4409 */ 
 4409, /* 4417 */ 
 4423, /* 4425 */ 
 4423, /* 4433 */ 
 4441, /* 4441 */ 
 4447, /* 4449 */ 
 4457, /* 4457 */ 
 4463, /* 4465 */ 
 4463, /* 4473 */ 
 4481, /* 4481 */ 
 4483, /* 4489 */ 
 4493, /* 4497 */ 
 4493, /* 4505 */ 
 4513, /* 4513 */ 
 4519, /* 4521 */ 
 4523, /* 4529 */ 
 4523, /* 4537 */ 
 4523, /* 4545 */ 
 4549, /* 4553 */ 
 4561, /* 4561 */ 
 4567, /* 4569 */ 
 4567, /* 4577 */ 
 4583, /* 4585 */ 
 4591, /* 4593 */ 
 4597, /* 4601 */ 
 4603, /* 4609 */ 
 4603, /* 4617 */ 
 4621, /* 4625 */ 
 4621, /* 4633 */ 
 4639, /* 4641 */ 
 4649, /* 4649 */ 
 4657, /* 4657 */ 
 4663, /* 4665 */ 
 4673, /* 4673 */ 
 4679, /* 4681 */ 
 4679, /* 4689 */ 
 4691, /* 4697 */ 
 4703, /* 4705 */ 
 4703, /* 4713 */ 
 4721, /* 4721 */ 
 4729, /* 4729 */ 
 4733, /* 4737 */ 
 4733, /* 4745 */ 
 4751, /* 4753 */ 
 4759, /* 4761 */ 
 4759, /* 4769 */ 
 4759, /* 4777 */ 
 4783, /* 4785 */ 
 4793, /* 4793 */ 
 4801, /* 4801 */ 
 4801, /* 4809 */ 
 4817, /* 4817 */ 
 4817, /* 4825 */ 
 4831, /* 4833 */ 
 4831, /* 4841 */ 
 4831, /* 4849 */ 
 4831, /* 4857 */ 
 4861, /* 4865 */ 
 4871, /* 4873 */ 
 4877, /* 4881 */ 
 4889, /* 4889 */ 
 4889, /* 4897 */ 
 4903, /* 4905 */ 
 4909, /* 4913 */ 
 4919, /* 4921 */ 
 4919, /* 4929 */ 
 4937, /* 4937 */ 
 4943, /* 4945 */ 
 4951, /* 4953 */ 
 4957, /* 4961 */ 
 4969, /* 4969 */ 
 4973, /* 4977 */ 
 4973, /* 4985 */ 
 4993, /* 4993 */ 
 4999, /* 5001 */ 
 5009, /* 5009 */ 
 5011, /* 5017 */ 
 5023, /* 5025 */ 
 5023, /* 5033 */ 
 5039, /* 5041 */ 
 5039, /* 5049 */ 
 5051, /* 5057 */ 
 5059, /* 5065 */ 
 5059, /* 5073 */ 
 5081, /* 5081 */ 
 5087, /* 5089 */ 
 5087, /* 5097 */ 
 5101, /* 5105 */ 
 5113, /* 5113 */ 
 5119, /* 5121 */ 
 5119, /* 5129 */ 
 5119, /* 5137 */ 
 5119, /* 5145 */ 
 5153, /* 5153 */ 
 5153, /* 5161 */ 
 5167, /* 5169 */ 
 5171, /* 5177 */ 
 5179, /* 5185 */ 
 5189, /* 5193 */ 
 5197, /* 5201 */ 
 5209, /* 5209 */ 
 5209, /* 5217 */ 
 5209, /* 5225 */ 
 5233, /* 5233 */ 
 5237, /* 5241 */ 
 5237, /* 5249 */ 
 5237, /* 5257 */ 
 5261, /* 5265 */ 
 5273, /* 5273 */ 
 5281, /* 5281 */ 
 5281, /* 5289 */ 
 5297, /* 5297 */ 
 5303, /* 5305 */ 
 5309, /* 5313 */ 
 5309, /* 5321 */ 
 5323, /* 5329 */ 
 5333, /* 5337 */ 
 5333, /* 5345 */ 
 5351, /* 5353 */ 
 5351, /* 5361 */ 
 5351, /* 5369 */ 
 5351, /* 5377 */ 
 5381, /* 5385 */ 
 5393, /* 5393 */ 
 5399, /* 5401 */ 
 5407, /* 5409 */ 
 5417, /* 5417 */ 
 5419, /* 5425 */ 
 5431, /* 5433 */ 
 5441, /* 5441 */ 
 5449, /* 5449 */ 
 5449, /* 5457 */ 
 5449, /* 5465 */ 
 5471, /* 5473 */ 
 5479, /* 5481 */ 
 5483, /* 5489 */ 
 5483, /* 5497 */ 
 5503, /* 5505 */ 
 5507, /* 5513 */ 
 5521, /* 5521 */ 
 5527, /* 5529 */ 
 5531, /* 5537 */ 
 5531, /* 5545 */ 
 5531, /* 5553 */ 
 5557, /* 5561 */ 
 5569, /* 5569 */ 
 5573, /* 5577 */ 
 5581, /* 5585 */ 
 5591, /* 5593 */ 
 5591, /* 5601 */ 
 5591, /* 5609 */ 
 5591, /* 5617 */ 
 5623, /* 5625 */ 
 5623, /* 5633 */ 
 5641, /* 5641 */ 
 5647, /* 5649 */ 
 5657, /* 5657 */ 
 5659, /* 5665 */ 
 5669, /* 5673 */ 
 5669, /* 5681 */ 
 5689, /* 5689 */ 
 5693, /* 5697 */ 
 5701, /* 5705 */ 
 5711, /* 5713 */ 
 5717, /* 5721 */ 
 5717, /* 5729 */ 
 5737, /* 5737 */ 
 5743, /* 5745 */ 
 5749, /* 5753 */ 
 5749, /* 5761 */ 
 5749, /* 5769 */ 
 5749, /* 5777 */ 
 5783, /* 5785 */ 
 5791, /* 5793 */ 
 5801, /* 5801 */ 
 5807, /* 5809 */ 
 5813, /* 5817 */ 
 5821, /* 5825 */ 
 5827, /* 5833 */ 
 5839, /* 5841 */ 
 5849, /* 5849 */ 
 5857, /* 5857 */ 
 5861, /* 5865 */ 
 5869, /* 5873 */ 
 5881, /* 5881 */ 
 5881, /* 5889 */ 
 5897, /* 5897 */ 
 5903, /* 5905 */ 
 5903, /* 5913 */ 
 5903, /* 5921 */ 
 5927, /* 5929 */ 
 5927, /* 5937 */ 
 5939, /* 5945 */ 
 5953, /* 5953 */ 
 5953, /* 5961 */ 
 5953, /* 5969 */ 
 5953, /* 5977 */ 
 5981, /* 5985 */ 
 5987, /* 5993 */ 
 5987, /* 6001 */ 
 6007, /* 6009 */ 
 6011, /* 6017 */ 
 6011, /* 6025 */ 
 6029, /* 6033 */ 
 6037, /* 6041 */ 
 6047, /* 6049 */ 
 6053, /* 6057 */ 
 6053, /* 6065 */ 
 6073, /* 6073 */ 
 6079, /* 6081 */ 
 6089, /* 6089 */ 
 6091, /* 6097 */ 
 6101, /* 6105 */ 
 6113, /* 6113 */ 
 6121, /* 6121 */ 
 6121, /* 6129 */ 
 6133, /* 6137 */ 
 6143, /* 6145 */ 
 6151, /* 6153 */ 
 6151, /* 6161 */ 
 6163, /* 6169 */ 
 6173, /* 6177 */ 
 6173, /* 6185 */ 
 6173, /* 6193 */ 
 6199, /* 6201 */ 
 6203, /* 6209 */ 
 6217, /* 6217 */ 
 6221, /* 6225 */ 
 6229, /* 6233 */ 
 6229, /* 6241 */ 
 6247, /* 6249 */ 
 6257, /* 6257 */ 
 6263, /* 6265 */ 
 6271, /* 6273 */ 
 6277, /* 6281 */ 
 6287, /* 6289 */ 
 6287, /* 6297 */ 
 6301, /* 6305 */ 
 6311, /* 6313 */ 
 6317, /* 6321 */ 
 6329, /* 6329 */ 
 6337, /* 6337 */ 
 6343, /* 6345 */ 
 6353, /* 6353 */ 
 6361, /* 6361 */ 
 6367, /* 6369 */ 
 6373, /* 6377 */ 
 6379, /* 6385 */ 
 6389, /* 6393 */ 
 6397, /* 6401 */ 
 6397, /* 6409 */ 
 6397, /* 6417 */ 
 6421, /* 6425 */ 
 6427, /* 6433 */ 
 6427, /* 6441 */ 
 6449, /* 6449 */ 
 6451, /* 6457 */ 
 6451, /* 6465 */ 
 6473, /* 6473 */ 
 6481, /* 6481 */ 
 6481, /* 6489 */ 
 6491, /* 6497 */ 
 6491, /* 6505 */ 
 6491, /* 6513 */ 
 6521, /* 6521 */ 
 6529, /* 6529 */ 
 6529, /* 6537 */ 
 6529, /* 6545 */ 
 6553, /* 6553 */ 
 6553, /* 6561 */ 
 6569, /* 6569 */ 
 6577, /* 6577 */ 
 6581, /* 6585 */ 
 6581, /* 6593 */ 
 6599, /* 6601 */ 
 6607, /* 6609 */ 
 6607, /* 6617 */ 
 6619, /* 6625 */ 
 6619, /* 6633 */ 
 6637, /* 6641 */ 
 6637, /* 6649 */ 
 6653, /* 6657 */ 
 6661, /* 6665 */ 
 6673, /* 6673 */ 
 6679, /* 6681 */ 
 6689, /* 6689 */ 
 6691, /* 6697 */ 
 6703, /* 6705 */ 
 6709, /* 6713 */ 
 6719, /* 6721 */ 
 6719, /* 6729 */ 
 6737, /* 6737 */ 
 6737, /* 6745 */ 
 6737, /* 6753 */ 
 6761, /* 6761 */ 
 6763, /* 6769 */ 
 6763, /* 6777 */ 
 6781, /* 6785 */ 
 6793, /* 6793 */ 
 6793, /* 6801 */ 
 6803, /* 6809 */ 
 6803, /* 6817 */ 
 6823, /* 6825 */ 
 6833, /* 6833 */ 
 6841, /* 6841 */ 
 6841, /* 6849 */ 
 6857, /* 6857 */ 
 6863, /* 6865 */ 
 6871, /* 6873 */ 
 6871, /* 6881 */ 
 6883, /* 6889 */ 
 6883, /* 6897 */ 
 6899, /* 6905 */ 
 6911, /* 6913 */ 
 6917, /* 6921 */ 
 6917, /* 6929 */ 
 6917, /* 6937 */ 
 6917, /* 6945 */ 
 6949, /* 6953 */ 
 6961, /* 6961 */ 
 6967, /* 6969 */ 
 6977, /* 6977 */ 
 6983, /* 6985 */ 
 6991, /* 6993 */ 
 7001, /* 7001 */ 
 7001, /* 7009 */ 
 7013, /* 7017 */ 
 7019, /* 7025 */ 
 7027, /* 7033 */ 
 7039, /* 7041 */ 
 7043, /* 7049 */ 
 7057, /* 7057 */ 
 7057, /* 7065 */ 
 7069, /* 7073 */ 
 7079, /* 7081 */ 
 7079, /* 7089 */ 
 7079, /* 7097 */ 
 7103, /* 7105 */ 
 7109, /* 7113 */ 
 7121, /* 7121 */ 
 7129, /* 7129 */ 
 7129, /* 7137 */ 
 7129, /* 7145 */ 
 7151, /* 7153 */ 
 7159, /* 7161 */ 
 7159, /* 7169 */ 
 7177, /* 7177 */ 
 7177, /* 7185 */ 
 7193, /* 7193 */ 
 7193, /* 7201 */ 
 7207, /* 7209 */ 
 7213, /* 7217 */ 
 7219, /* 7225 */ 
 7229, /* 7233 */ 
 7237, /* 7241 */ 
 7247, /* 7249 */ 
 7253, /* 7257 */ 
 7253, /* 7265 */ 
 7253, /* 7273 */ 
 7253, /* 7281 */ 
 7283, /* 7289 */ 
 7297, /* 7297 */ 
 7297, /* 7305 */ 
 7309, /* 7313 */ 
 7321, /* 7321 */ 
 7321, /* 7329 */ 
 7333, /* 7337 */ 
 7333, /* 7345 */ 
 7351, /* 7353 */ 
 7351, /* 7361 */ 
 7369, /* 7369 */ 
 7369, /* 7377 */ 
 7369, /* 7385 */ 
 7393, /* 7393 */ 
 7393, /* 7401 */ 
 7393, /* 7409 */ 
 7417, /* 7417 */ 
 7417, /* 7425 */ 
 7433, /* 7433 */ 
 7433, /* 7441 */ 
 7433, /* 7449 */ 
 7457, /* 7457 */ 
 7459, /* 7465 */ 
 7459, /* 7473 */ 
 7481, /* 7481 */ 
 7489, /* 7489 */ 
 7489, /* 7497 */ 
 7499, /* 7505 */ 
 7507, /* 7513 */ 
 7517, /* 7521 */ 
 7529, /* 7529 */ 
 7537, /* 7537 */ 
 7541, /* 7545 */ 
 7549, /* 7553 */ 
 7561, /* 7561 */ 
 7561, /* 7569 */ 
 7577, /* 7577 */ 
 7583, /* 7585 */ 
 7591, /* 7593 */ 
 7591, /* 7601 */ 
 7607, /* 7609 */ 
 7607, /* 7617 */ 
 7621, /* 7625 */ 
 7621, /* 7633 */ 
 7639, /* 7641 */ 
 7649, /* 7649 */ 
 7649, /* 7657 */ 
 7649, /* 7665 */ 
 7673, /* 7673 */ 
 7681, /* 7681 */ 
 7687, /* 7689 */ 
 7691, /* 7697 */ 
 7703, /* 7705 */ 
 7703, /* 7713 */ 
 7717, /* 7721 */ 
 7727, /* 7729 */ 
 7727, /* 7737 */ 
 7741, /* 7745 */ 
 7753, /* 7753 */ 
 7759, /* 7761 */ 
 7759, /* 7769 */ 
 7759, /* 7777 */ 
 7759, /* 7785 */ 
 7793, /* 7793 */ 
 7793, /* 7801 */ 
 7793, /* 7809 */ 
 7817, /* 7817 */ 
 7823, /* 7825 */ 
 7829, /* 7833 */ 
 7841, /* 7841 */ 
 7841, /* 7849 */ 
 7853, /* 7857 */ 
 7853, /* 7865 */ 
 7873, /* 7873 */ 
 7879, /* 7881 */ 
 7883, /* 7889 */ 
 7883, /* 7897 */ 
 7901, /* 7905 */ 
 7907, /* 7913 */ 
 7919, /* 7921 */ 
 7927, /* 7929 */ 
 7937, /* 7937 */ 
 7937, /* 7945 */ 
 7951, /* 7953 */ 
 7951, /* 7961 */ 
 7963, /* 7969 */ 
 7963, /* 7977 */ 
 7963, /* 7985 */ 
 7993, /* 7993 */ 
 7993, /* 8001 */ 
 8009, /* 8009 */ 
 8017, /* 8017 */ 
 8017, /* 8025 */ 
 8017, /* 8033 */ 
 8039, /* 8041 */ 
 8039, /* 8049 */ 
 8053, /* 8057 */ 
 8059, /* 8065 */ 
 8069, /* 8073 */ 
 8081, /* 8081 */ 
 8089, /* 8089 */ 
 8093, /* 8097 */ 
 8101, /* 8105 */ 
 8111, /* 8113 */ 
 8117, /* 8121 */ 
 8123, /* 8129 */ 
 8123, /* 8137 */ 
 8123, /* 8145 */ 
 8147, /* 8153 */ 
 8161, /* 8161 */ 
 8167, /* 8169 */ 
 8171, /* 8177 */ 
 8179, /* 8185 */ 
};
/* 0-64K, increments=64 */
static 
unsigned prime_table1[]={
 1, /* 1 */ 
 61, /* 65 */ 
 127, /* 129 */ 
 193, /* 193 */ 
 257, /* 257 */ 
 317, /* 321 */ 
 383, /* 385 */ 
 449, /* 449 */ 
 509, /* 513 */ 
 577, /* 577 */ 
 641, /* 641 */ 
 701, /* 705 */ 
 769, /* 769 */ 
 829, /* 833 */ 
 887, /* 897 */ 
 953, /* 961 */ 
 1021, /* 1025 */ 
 1087, /* 1089 */ 
 1153, /* 1153 */ 
 1217, /* 1217 */ 
 1279, /* 1281 */ 
 1327, /* 1345 */ 
 1409, /* 1409 */ 
 1471, /* 1473 */ 
 1531, /* 1537 */ 
 1601, /* 1601 */ 
 1663, /* 1665 */ 
 1723, /* 1729 */ 
 1789, /* 1793 */ 
 1847, /* 1857 */ 
 1913, /* 1921 */ 
 1979, /* 1985 */ 
 2039, /* 2049 */ 
 2113, /* 2113 */ 
 2161, /* 2177 */ 
 2239, /* 2241 */ 
 2297, /* 2305 */ 
 2357, /* 2369 */ 
 2423, /* 2433 */ 
 2477, /* 2497 */ 
 2557, /* 2561 */ 
 2621, /* 2625 */ 
 2689, /* 2689 */ 
 2753, /* 2753 */ 
 2803, /* 2817 */ 
 2879, /* 2881 */ 
 2939, /* 2945 */ 
 3001, /* 3009 */ 
 3067, /* 3073 */ 
 3137, /* 3137 */ 
 3191, /* 3201 */ 
 3259, /* 3265 */ 
 3329, /* 3329 */ 
 3391, /* 3393 */ 
 3457, /* 3457 */ 
 3517, /* 3521 */ 
 3583, /* 3585 */ 
 3643, /* 3649 */ 
 3709, /* 3713 */ 
 3769, /* 3777 */ 
 3833, /* 3841 */ 
 3889, /* 3905 */ 
 3967, /* 3969 */ 
 4027, /* 4033 */ 
 4093, /* 4097 */ 
 4159, /* 4161 */ 
 4219, /* 4225 */ 
 4289, /* 4289 */ 
 4349, /* 4353 */ 
 4409, /* 4417 */ 
 4481, /* 4481 */ 
 4523, /* 4545 */ 
 4603, /* 4609 */ 
 4673, /* 4673 */ 
 4733, /* 4737 */ 
 4801, /* 4801 */ 
 4861, /* 4865 */ 
 4919, /* 4929 */ 
 4993, /* 4993 */ 
 5051, /* 5057 */ 
 5119, /* 5121 */ 
 5179, /* 5185 */ 
 5237, /* 5249 */ 
 5309, /* 5313 */ 
 5351, /* 5377 */ 
 5441, /* 5441 */ 
 5503, /* 5505 */ 
 5569, /* 5569 */ 
 5623, /* 5633 */ 
 5693, /* 5697 */ 
 5749, /* 5761 */ 
 5821, /* 5825 */ 
 5881, /* 5889 */ 
 5953, /* 5953 */ 
 6011, /* 6017 */ 
 6079, /* 6081 */ 
 6143, /* 6145 */ 
 6203, /* 6209 */ 
 6271, /* 6273 */ 
 6337, /* 6337 */ 
 6397, /* 6401 */ 
 6451, /* 6465 */ 
 6529, /* 6529 */ 
 6581, /* 6593 */ 
 6653, /* 6657 */ 
 6719, /* 6721 */ 
 6781, /* 6785 */ 
 6841, /* 6849 */ 
 6911, /* 6913 */ 
 6977, /* 6977 */ 
 7039, /* 7041 */ 
 7103, /* 7105 */ 
 7159, /* 7169 */ 
 7229, /* 7233 */ 
 7297, /* 7297 */ 
 7351, /* 7361 */ 
 7417, /* 7425 */ 
 7489, /* 7489 */ 
 7549, /* 7553 */ 
 7607, /* 7617 */ 
 7681, /* 7681 */ 
 7741, /* 7745 */ 
 7793, /* 7809 */ 
 7873, /* 7873 */ 
 7937, /* 7937 */ 
 7993, /* 8001 */ 
 8059, /* 8065 */ 
 8123, /* 8129 */ 
 8191, /* 8193 */ 
 8243, /* 8257 */ 
 8317, /* 8321 */ 
 8377, /* 8385 */ 
 8447, /* 8449 */ 
 8513, /* 8513 */ 
 8573, /* 8577 */ 
 8641, /* 8641 */ 
 8699, /* 8705 */ 
 8761, /* 8769 */ 
 8831, /* 8833 */ 
 8893, /* 8897 */ 
 8951, /* 8961 */ 
 9013, /* 9025 */ 
 9067, /* 9089 */ 
 9151, /* 9153 */ 
 9209, /* 9217 */ 
 9281, /* 9281 */ 
 9343, /* 9345 */ 
 9403, /* 9409 */ 
 9473, /* 9473 */ 
 9533, /* 9537 */ 
 9601, /* 9601 */ 
 9661, /* 9665 */ 
 9721, /* 9729 */ 
 9791, /* 9793 */ 
 9857, /* 9857 */ 
 9907, /* 9921 */ 
 9973, /* 9985 */ 
 10039, /* 10049 */ 
 10111, /* 10113 */ 
 10177, /* 10177 */ 
 10223, /* 10241 */ 
 10303, /* 10305 */ 
 10369, /* 10369 */ 
 10433, /* 10433 */ 
 10487, /* 10497 */ 
 10559, /* 10561 */ 
 10613, /* 10625 */ 
 10687, /* 10689 */ 
 10753, /* 10753 */ 
 10799, /* 10817 */ 
 10867, /* 10881 */ 
 10939, /* 10945 */ 
 11003, /* 11009 */ 
 11071, /* 11073 */ 
 11131, /* 11137 */ 
 11197, /* 11201 */ 
 11261, /* 11265 */ 
 11329, /* 11329 */ 
 11393, /* 11393 */ 
 11447, /* 11457 */ 
 11519, /* 11521 */ 
 11579, /* 11585 */ 
 11633, /* 11649 */ 
 11701, /* 11713 */ 
 11777, /* 11777 */ 
 11839, /* 11841 */ 
 11903, /* 11905 */ 
 11969, /* 11969 */ 
 12011, /* 12033 */ 
 12097, /* 12097 */ 
 12161, /* 12161 */ 
 12211, /* 12225 */ 
 12289, /* 12289 */ 
 12347, /* 12353 */ 
 12413, /* 12417 */ 
 12479, /* 12481 */ 
 12541, /* 12545 */ 
 12601, /* 12609 */ 
 12671, /* 12673 */ 
 12721, /* 12737 */ 
 12799, /* 12801 */ 
 12853, /* 12865 */ 
 12923, /* 12929 */ 
 12983, /* 12993 */ 
 13049, /* 13057 */ 
 13121, /* 13121 */ 
 13183, /* 13185 */ 
 13249, /* 13249 */ 
 13313, /* 13313 */ 
 13367, /* 13377 */ 
 13441, /* 13441 */ 
 13499, /* 13505 */ 
 13567, /* 13569 */ 
 13633, /* 13633 */ 
 13697, /* 13697 */ 
 13759, /* 13761 */ 
 13807, /* 13825 */ 
 13883, /* 13889 */ 
 13933, /* 13953 */ 
 14011, /* 14017 */ 
 14081, /* 14081 */ 
 14143, /* 14145 */ 
 14207, /* 14209 */ 
 14251, /* 14273 */ 
 14327, /* 14337 */ 
 14401, /* 14401 */ 
 14461, /* 14465 */ 
 14519, /* 14529 */ 
 14593, /* 14593 */ 
 14657, /* 14657 */ 
 14717, /* 14721 */ 
 14783, /* 14785 */ 
 14843, /* 14849 */ 
 14897, /* 14913 */ 
 14969, /* 14977 */ 
 15031, /* 15041 */ 
 15101, /* 15105 */ 
 15161, /* 15169 */ 
 15233, /* 15233 */ 
 15289, /* 15297 */ 
 15361, /* 15361 */ 
 15413, /* 15425 */ 
 15473, /* 15489 */ 
 15551, /* 15553 */ 
 15607, /* 15617 */ 
 15679, /* 15681 */ 
 15739, /* 15745 */ 
 15809, /* 15809 */ 
 15859, /* 15873 */ 
 15937, /* 15937 */ 
 16001, /* 16001 */ 
 16063, /* 16065 */ 
 16127, /* 16129 */ 
 16193, /* 16193 */ 
 16253, /* 16257 */ 
 16319, /* 16321 */ 
 16381, /* 16385 */ 
 16447, /* 16449 */ 
 16493, /* 16513 */ 
 16573, /* 16577 */ 
 16633, /* 16641 */ 
 16703, /* 16705 */ 
 16763, /* 16769 */ 
 16831, /* 16833 */ 
 16889, /* 16897 */ 
 16943, /* 16961 */ 
 17021, /* 17025 */ 
 17077, /* 17089 */ 
 17137, /* 17153 */ 
 17209, /* 17217 */ 
 17257, /* 17281 */ 
 17341, /* 17345 */ 
 17401, /* 17409 */ 
 17471, /* 17473 */ 
 17519, /* 17537 */ 
 17599, /* 17601 */ 
 17659, /* 17665 */ 
 17729, /* 17729 */ 
 17791, /* 17793 */ 
 17851, /* 17857 */ 
 17921, /* 17921 */ 
 17981, /* 17985 */ 
 18049, /* 18049 */ 
 18097, /* 18113 */ 
 18169, /* 18177 */ 
 18233, /* 18241 */ 
 18301, /* 18305 */ 
 18367, /* 18369 */ 
 18433, /* 18433 */ 
 18493, /* 18497 */ 
 18553, /* 18561 */ 
 18617, /* 18625 */ 
 18679, /* 18689 */ 
 18749, /* 18753 */ 
 18803, /* 18817 */ 
 18869, /* 18881 */ 
 18919, /* 18945 */ 
 19009, /* 19009 */ 
 19073, /* 19073 */ 
 19121, /* 19137 */ 
 19183, /* 19201 */ 
 19259, /* 19265 */ 
 19319, /* 19329 */ 
 19391, /* 19393 */ 
 19457, /* 19457 */ 
 19507, /* 19521 */ 
 19583, /* 19585 */ 
 19609, /* 19649 */ 
 19709, /* 19713 */ 
 19777, /* 19777 */ 
 19841, /* 19841 */ 
 19891, /* 19905 */ 
 19963, /* 19969 */ 
 20029, /* 20033 */ 
 20089, /* 20097 */ 
 20161, /* 20161 */ 
 20219, /* 20225 */ 
 20287, /* 20289 */ 
 20353, /* 20353 */ 
 20411, /* 20417 */ 
 20479, /* 20481 */ 
 20543, /* 20545 */ 
 20599, /* 20609 */ 
 20663, /* 20673 */ 
 20731, /* 20737 */ 
 20789, /* 20801 */ 
 20857, /* 20865 */ 
 20929, /* 20929 */ 
 20983, /* 20993 */ 
 21031, /* 21057 */ 
 21121, /* 21121 */ 
 21179, /* 21185 */ 
 21247, /* 21249 */ 
 21313, /* 21313 */ 
 21377, /* 21377 */ 
 21433, /* 21441 */ 
 21503, /* 21505 */ 
 21569, /* 21569 */ 
 21617, /* 21633 */ 
 21683, /* 21697 */ 
 21757, /* 21761 */ 
 21821, /* 21825 */ 
 21881, /* 21889 */ 
 21943, /* 21953 */ 
 22013, /* 22017 */ 
 22079, /* 22081 */ 
 22133, /* 22145 */ 
 22193, /* 22209 */ 
 22273, /* 22273 */ 
 22307, /* 22337 */ 
 22397, /* 22401 */ 
 22453, /* 22465 */ 
 22511, /* 22529 */ 
 22573, /* 22593 */ 
 22651, /* 22657 */ 
 22721, /* 22721 */ 
 22783, /* 22785 */ 
 22817, /* 22849 */ 
 22907, /* 22913 */ 
 22973, /* 22977 */ 
 23041, /* 23041 */ 
 23099, /* 23105 */ 
 23167, /* 23169 */ 
 23227, /* 23233 */ 
 23297, /* 23297 */ 
 23357, /* 23361 */ 
 23417, /* 23425 */ 
 23473, /* 23489 */ 
 23549, /* 23553 */ 
 23609, /* 23617 */ 
 23677, /* 23681 */ 
 23743, /* 23745 */ 
 23801, /* 23809 */ 
 23873, /* 23873 */ 
 23929, /* 23937 */ 
 24001, /* 24001 */ 
 24061, /* 24065 */ 
 24121, /* 24129 */ 
 24181, /* 24193 */ 
 24251, /* 24257 */ 
 24317, /* 24321 */ 
 24379, /* 24385 */ 
 24443, /* 24449 */ 
 24509, /* 24513 */ 
 24571, /* 24577 */ 
 24631, /* 24641 */ 
 24697, /* 24705 */ 
 24767, /* 24769 */ 
 24821, /* 24833 */ 
 24889, /* 24897 */ 
 24953, /* 24961 */ 
 25013, /* 25025 */ 
 25087, /* 25089 */ 
 25153, /* 25153 */ 
 25189, /* 25217 */ 
 25261, /* 25281 */ 
 25343, /* 25345 */ 
 25409, /* 25409 */ 
 25471, /* 25473 */ 
 25537, /* 25537 */ 
 25601, /* 25601 */ 
 25657, /* 25665 */ 
 25717, /* 25729 */ 
 25793, /* 25793 */ 
 25849, /* 25857 */ 
 25919, /* 25921 */ 
 25981, /* 25985 */ 
 26041, /* 26049 */ 
 26113, /* 26113 */ 
 26177, /* 26177 */ 
 26237, /* 26241 */ 
 26297, /* 26305 */ 
 26357, /* 26369 */ 
 26431, /* 26433 */ 
 26497, /* 26497 */ 
 26561, /* 26561 */ 
 26597, /* 26625 */ 
 26687, /* 26689 */ 
 26737, /* 26753 */ 
 26813, /* 26817 */ 
 26881, /* 26881 */ 
 26927, /* 26945 */ 
 26993, /* 27009 */ 
 27073, /* 27073 */ 
 27127, /* 27137 */ 
 27197, /* 27201 */ 
 27259, /* 27265 */ 
 27329, /* 27329 */ 
 27367, /* 27393 */ 
 27457, /* 27457 */ 
 27509, /* 27521 */ 
 27583, /* 27585 */ 
 27647, /* 27649 */ 
 27701, /* 27713 */ 
 27773, /* 27777 */ 
 27827, /* 27841 */ 
 27901, /* 27905 */ 
 27967, /* 27969 */ 
 28031, /* 28033 */ 
 28097, /* 28097 */ 
 28151, /* 28161 */ 
 28219, /* 28225 */ 
 28289, /* 28289 */ 
 28351, /* 28353 */ 
 28411, /* 28417 */ 
 28477, /* 28481 */ 
 28541, /* 28545 */ 
 28607, /* 28609 */ 
 28669, /* 28673 */ 
 28729, /* 28737 */ 
 28793, /* 28801 */ 
 28859, /* 28865 */ 
 28927, /* 28929 */ 
 28979, /* 28993 */ 
 29033, /* 29057 */ 
 29101, /* 29121 */ 
 29179, /* 29185 */ 
 29243, /* 29249 */ 
 29311, /* 29313 */ 
 29363, /* 29377 */ 
 29437, /* 29441 */ 
 29501, /* 29505 */ 
 29569, /* 29569 */ 
 29633, /* 29633 */ 
 29683, /* 29697 */ 
 29761, /* 29761 */ 
 29819, /* 29825 */ 
 29881, /* 29889 */ 
 29947, /* 29953 */ 
 30013, /* 30017 */ 
 30071, /* 30081 */ 
 30139, /* 30145 */ 
 30203, /* 30209 */ 
 30271, /* 30273 */ 
 30323, /* 30337 */ 
 30391, /* 30401 */ 
 30449, /* 30465 */ 
 30529, /* 30529 */ 
 30593, /* 30593 */ 
 30649, /* 30657 */ 
 30713, /* 30721 */ 
 30781, /* 30785 */ 
 30841, /* 30849 */ 
 30911, /* 30913 */ 
 30977, /* 30977 */ 
 31039, /* 31041 */ 
 31091, /* 31105 */ 
 31159, /* 31169 */ 
 31231, /* 31233 */ 
 31277, /* 31297 */ 
 31357, /* 31361 */ 
 31397, /* 31425 */ 
 31489, /* 31489 */ 
 31547, /* 31553 */ 
 31607, /* 31617 */ 
 31667, /* 31681 */ 
 31741, /* 31745 */ 
 31799, /* 31809 */ 
 31873, /* 31873 */ 
 31907, /* 31937 */ 
 31991, /* 32001 */ 
 32063, /* 32065 */ 
 32119, /* 32129 */ 
 32191, /* 32193 */ 
 32257, /* 32257 */ 
 32321, /* 32321 */ 
 32381, /* 32385 */ 
 32443, /* 32449 */ 
 32507, /* 32513 */ 
 32573, /* 32577 */ 
 32633, /* 32641 */ 
 32693, /* 32705 */ 
 32749, /* 32769 */ 
 32833, /* 32833 */ 
 32887, /* 32897 */ 
 32957, /* 32961 */ 
 33023, /* 33025 */ 
 33083, /* 33089 */ 
 33151, /* 33153 */ 
 33211, /* 33217 */ 
 33247, /* 33281 */ 
 33343, /* 33345 */ 
 33409, /* 33409 */ 
 33469, /* 33473 */ 
 33533, /* 33537 */ 
 33601, /* 33601 */ 
 33647, /* 33665 */ 
 33721, /* 33729 */ 
 33791, /* 33793 */ 
 33857, /* 33857 */ 
 33911, /* 33921 */ 
 33967, /* 33985 */ 
 34039, /* 34049 */ 
 34061, /* 34113 */ 
 34171, /* 34177 */ 
 34231, /* 34241 */ 
 34303, /* 34305 */ 
 34369, /* 34369 */ 
 34429, /* 34433 */ 
 34487, /* 34497 */ 
 34549, /* 34561 */ 
 34613, /* 34625 */ 
 34687, /* 34689 */ 
 34747, /* 34753 */ 
 34807, /* 34817 */ 
 34877, /* 34881 */ 
 34939, /* 34945 */ 
 34981, /* 35009 */ 
 35069, /* 35073 */ 
 35129, /* 35137 */ 
 35201, /* 35201 */ 
 35257, /* 35265 */ 
 35327, /* 35329 */ 
 35393, /* 35393 */ 
 35449, /* 35457 */ 
 35521, /* 35521 */ 
 35573, /* 35585 */ 
 35617, /* 35649 */ 
 35677, /* 35713 */ 
 35771, /* 35777 */ 
 35839, /* 35841 */ 
 35899, /* 35905 */ 
 35969, /* 35969 */ 
 36017, /* 36033 */ 
 36097, /* 36097 */ 
 36161, /* 36161 */ 
 36217, /* 36225 */ 
 36277, /* 36289 */ 
 36353, /* 36353 */ 
 36389, /* 36417 */ 
 36479, /* 36481 */ 
 36541, /* 36545 */ 
 36607, /* 36609 */ 
 36671, /* 36673 */ 
 36721, /* 36737 */ 
 36793, /* 36801 */ 
 36857, /* 36865 */ 
 36929, /* 36929 */ 
 36979, /* 36993 */ 
 37057, /* 37057 */ 
 37117, /* 37121 */ 
 37181, /* 37185 */ 
 37243, /* 37249 */ 
 37313, /* 37313 */ 
 37369, /* 37377 */ 
 37441, /* 37441 */ 
 37501, /* 37505 */ 
 37567, /* 37569 */ 
 37633, /* 37633 */ 
 37693, /* 37697 */ 
 37747, /* 37761 */ 
 37813, /* 37825 */ 
 37889, /* 37889 */ 
 37951, /* 37953 */ 
 38011, /* 38017 */ 
 38069, /* 38081 */ 
 38119, /* 38145 */ 
 38201, /* 38209 */ 
 38273, /* 38273 */ 
 38333, /* 38337 */ 
 38393, /* 38401 */ 
 38461, /* 38465 */ 
 38501, /* 38529 */ 
 38593, /* 38593 */ 
 38653, /* 38657 */ 
 38713, /* 38721 */ 
 38783, /* 38785 */ 
 38839, /* 38849 */ 
 38903, /* 38913 */ 
 38977, /* 38977 */ 
 39041, /* 39041 */ 
 39103, /* 39105 */ 
 39163, /* 39169 */ 
 39233, /* 39233 */ 
 39293, /* 39297 */ 
 39359, /* 39361 */ 
 39419, /* 39425 */ 
 39461, /* 39489 */ 
 39551, /* 39553 */ 
 39607, /* 39617 */ 
 39679, /* 39681 */ 
 39733, /* 39745 */ 
 39799, /* 39809 */ 
 39869, /* 39873 */ 
 39937, /* 39937 */ 
 39989, /* 40001 */ 
 40063, /* 40065 */ 
 40129, /* 40129 */ 
 40193, /* 40193 */ 
 40253, /* 40257 */ 
 40289, /* 40321 */ 
 40361, /* 40385 */ 
 40433, /* 40449 */ 
 40507, /* 40513 */ 
 40577, /* 40577 */ 
 40639, /* 40641 */ 
 40699, /* 40705 */ 
 40763, /* 40769 */ 
 40829, /* 40833 */ 
 40897, /* 40897 */ 
 40961, /* 40961 */ 
 41023, /* 41025 */ 
 41081, /* 41089 */ 
 41149, /* 41153 */ 
 41213, /* 41217 */ 
 41281, /* 41281 */ 
 41341, /* 41345 */ 
 41399, /* 41409 */ 
 41467, /* 41473 */ 
 41521, /* 41537 */ 
 41597, /* 41601 */ 
 41659, /* 41665 */ 
 41729, /* 41729 */ 
 41777, /* 41793 */ 
 41851, /* 41857 */ 
 41911, /* 41921 */ 
 41983, /* 41985 */ 
 42043, /* 42049 */ 
 42101, /* 42113 */ 
 42169, /* 42177 */ 
 42239, /* 42241 */ 
 42299, /* 42305 */ 
 42359, /* 42369 */ 
 42433, /* 42433 */ 
 42491, /* 42497 */ 
 42557, /* 42561 */ 
 42611, /* 42625 */ 
 42689, /* 42689 */ 
 42751, /* 42753 */ 
 42797, /* 42817 */ 
 42863, /* 42881 */ 
 42943, /* 42945 */ 
 43003, /* 43009 */ 
 43067, /* 43073 */ 
 43133, /* 43137 */ 
 43201, /* 43201 */ 
 43261, /* 43265 */ 
 43321, /* 43329 */ 
 43391, /* 43393 */ 
 43457, /* 43457 */ 
 43517, /* 43521 */ 
 43579, /* 43585 */ 
 43649, /* 43649 */ 
 43711, /* 43713 */ 
 43777, /* 43777 */ 
 43801, /* 43841 */ 
 43891, /* 43905 */ 
 43969, /* 43969 */ 
 44029, /* 44033 */ 
 44089, /* 44097 */ 
 44159, /* 44161 */ 
 44221, /* 44225 */ 
 44281, /* 44289 */ 
 44351, /* 44353 */ 
 44417, /* 44417 */ 
 44453, /* 44481 */ 
 44543, /* 44545 */ 
 44587, /* 44609 */ 
 44657, /* 44673 */ 
 44729, /* 44737 */ 
 44797, /* 44801 */ 
 44851, /* 44865 */ 
 44927, /* 44929 */ 
 44987, /* 44993 */ 
 45053, /* 45057 */ 
 45121, /* 45121 */ 
 45181, /* 45185 */ 
 45247, /* 45249 */ 
 45307, /* 45313 */ 
 45377, /* 45377 */ 
 45439, /* 45441 */ 
 45503, /* 45505 */ 
 45569, /* 45569 */ 
 45631, /* 45633 */ 
 45697, /* 45697 */ 
 45757, /* 45761 */ 
 45823, /* 45825 */ 
 45887, /* 45889 */ 
 45953, /* 45953 */ 
 45989, /* 46017 */ 
 46073, /* 46081 */ 
 46141, /* 46145 */ 
 46199, /* 46209 */ 
 46273, /* 46273 */ 
 46337, /* 46337 */ 
 46399, /* 46401 */ 
 46457, /* 46465 */ 
 46523, /* 46529 */ 
 46591, /* 46593 */ 
 46649, /* 46657 */ 
 46703, /* 46721 */ 
 46771, /* 46785 */ 
 46831, /* 46849 */ 
 46901, /* 46913 */ 
 46957, /* 46977 */ 
 47041, /* 47041 */ 
 47093, /* 47105 */ 
 47161, /* 47169 */ 
 47221, /* 47233 */ 
 47297, /* 47297 */ 
 47353, /* 47361 */ 
 47419, /* 47425 */ 
 47459, /* 47489 */ 
 47543, /* 47553 */ 
 47609, /* 47617 */ 
 47681, /* 47681 */ 
 47743, /* 47745 */ 
 47809, /* 47809 */ 
 47869, /* 47873 */ 
 47933, /* 47937 */ 
 47981, /* 48001 */ 
 48049, /* 48065 */ 
 48121, /* 48129 */ 
 48193, /* 48193 */ 
 48247, /* 48257 */ 
 48313, /* 48321 */ 
 48383, /* 48385 */ 
 48449, /* 48449 */ 
 48497, /* 48513 */ 
 48571, /* 48577 */ 
 48623, /* 48641 */ 
 48679, /* 48705 */ 
 48767, /* 48769 */ 
 48823, /* 48833 */ 
 48889, /* 48897 */ 
 48953, /* 48961 */ 
 49019, /* 49025 */ 
 49081, /* 49089 */ 
 49139, /* 49153 */ 
 49211, /* 49217 */ 
 49279, /* 49281 */ 
 49339, /* 49345 */ 
 49409, /* 49409 */ 
 49463, /* 49473 */ 
 49537, /* 49537 */ 
 49597, /* 49601 */ 
 49663, /* 49665 */ 
 49727, /* 49729 */ 
 49789, /* 49793 */ 
 49853, /* 49857 */ 
 49921, /* 49921 */ 
 49957, /* 49985 */ 
 50047, /* 50049 */ 
 50111, /* 50113 */ 
 50177, /* 50177 */ 
 50231, /* 50241 */ 
 50291, /* 50305 */ 
 50363, /* 50369 */ 
 50423, /* 50433 */ 
 50497, /* 50497 */ 
 50551, /* 50561 */ 
 50599, /* 50625 */ 
 50683, /* 50689 */ 
 50753, /* 50753 */ 
 50789, /* 50817 */ 
 50873, /* 50881 */ 
 50929, /* 50945 */ 
 51001, /* 51009 */ 
 51071, /* 51073 */ 
 51137, /* 51137 */ 
 51199, /* 51201 */ 
 51263, /* 51265 */ 
 51329, /* 51329 */ 
 51383, /* 51393 */ 
 51449, /* 51457 */ 
 51521, /* 51521 */ 
 51581, /* 51585 */ 
 51647, /* 51649 */ 
 51713, /* 51713 */ 
 51769, /* 51777 */ 
 51839, /* 51841 */ 
 51899, /* 51905 */ 
 51949, /* 51969 */ 
 52027, /* 52033 */ 
 52081, /* 52097 */ 
 52153, /* 52161 */ 
 52223, /* 52225 */ 
 52289, /* 52289 */ 
 52321, /* 52353 */ 
 52391, /* 52417 */ 
 52457, /* 52481 */ 
 52543, /* 52545 */ 
 52609, /* 52609 */ 
 52673, /* 52673 */ 
 52733, /* 52737 */ 
 52783, /* 52801 */ 
 52861, /* 52865 */ 
 52919, /* 52929 */ 
 52981, /* 52993 */ 
 53051, /* 53057 */ 
 53117, /* 53121 */ 
 53173, /* 53185 */ 
 53239, /* 53249 */ 
 53309, /* 53313 */ 
 53377, /* 53377 */ 
 53441, /* 53441 */ 
 53503, /* 53505 */ 
 53569, /* 53569 */ 
 53633, /* 53633 */ 
 53693, /* 53697 */ 
 53759, /* 53761 */ 
 53819, /* 53825 */ 
 53887, /* 53889 */ 
 53951, /* 53953 */ 
 54013, /* 54017 */ 
 54059, /* 54081 */ 
 54139, /* 54145 */ 
 54193, /* 54209 */ 
 54269, /* 54273 */ 
 54331, /* 54337 */ 
 54401, /* 54401 */ 
 54449, /* 54465 */ 
 54521, /* 54529 */ 
 54583, /* 54593 */ 
 54647, /* 54657 */ 
 54721, /* 54721 */ 
 54779, /* 54785 */ 
 54833, /* 54849 */ 
 54907, /* 54913 */ 
 54973, /* 54977 */ 
 55021, /* 55041 */ 
 55103, /* 55105 */ 
 55163, /* 55169 */ 
 55229, /* 55233 */ 
 55291, /* 55297 */ 
 55351, /* 55361 */ 
 55411, /* 55425 */ 
 55487, /* 55489 */ 
 55547, /* 55553 */ 
 55609, /* 55617 */ 
 55681, /* 55681 */ 
 55733, /* 55745 */ 
 55807, /* 55809 */ 
 55871, /* 55873 */ 
 55933, /* 55937 */ 
 55997, /* 56001 */ 
 56053, /* 56065 */ 
 56123, /* 56129 */ 
 56179, /* 56193 */ 
 56249, /* 56257 */ 
 56311, /* 56321 */ 
 56383, /* 56385 */ 
 56443, /* 56449 */ 
 56509, /* 56513 */ 
 56569, /* 56577 */ 
 56633, /* 56641 */ 
 56701, /* 56705 */ 
 56767, /* 56769 */ 
 56827, /* 56833 */ 
 56897, /* 56897 */ 
 56957, /* 56961 */ 
 56999, /* 57025 */ 
 57089, /* 57089 */ 
 57149, /* 57153 */ 
 57203, /* 57217 */ 
 57271, /* 57281 */ 
 57331, /* 57345 */ 
 57397, /* 57409 */ 
 57467, /* 57473 */ 
 57529, /* 57537 */ 
 57601, /* 57601 */ 
 57653, /* 57665 */ 
 57727, /* 57729 */ 
 57793, /* 57793 */ 
 57853, /* 57857 */ 
 57917, /* 57921 */ 
 57977, /* 57985 */ 
 58049, /* 58049 */ 
 58111, /* 58113 */ 
 58171, /* 58177 */ 
 58237, /* 58241 */ 
 58271, /* 58305 */ 
 58369, /* 58369 */ 
 58427, /* 58433 */ 
 58481, /* 58497 */ 
 58549, /* 58561 */ 
 58613, /* 58625 */ 
 58687, /* 58689 */ 
 58741, /* 58753 */ 
 58789, /* 58817 */ 
 58831, /* 58881 */ 
 58943, /* 58945 */ 
 59009, /* 59009 */ 
 59069, /* 59073 */ 
 59123, /* 59137 */ 
 59197, /* 59201 */ 
 59263, /* 59265 */ 
 59281, /* 59329 */ 
 59393, /* 59393 */ 
 59453, /* 59457 */ 
 59513, /* 59521 */ 
 59581, /* 59585 */ 
 59629, /* 59649 */ 
 59707, /* 59713 */ 
 59771, /* 59777 */ 
 59833, /* 59841 */ 
 59887, /* 59905 */ 
 59957, /* 59969 */ 
 60029, /* 60033 */ 
 60091, /* 60097 */ 
 60161, /* 60161 */ 
 60223, /* 60225 */ 
 60289, /* 60289 */ 
 60353, /* 60353 */ 
 60413, /* 60417 */ 
 60457, /* 60481 */ 
 60539, /* 60545 */ 
 60607, /* 60609 */ 
 60661, /* 60673 */ 
 60737, /* 60737 */ 
 60793, /* 60801 */ 
 60859, /* 60865 */ 
 60923, /* 60929 */ 
 60961, /* 60993 */ 
 61057, /* 61057 */ 
 61121, /* 61121 */ 
 61169, /* 61185 */ 
 61231, /* 61249 */ 
 61297, /* 61313 */ 
 61363, /* 61377 */ 
 61441, /* 61441 */ 
 61493, /* 61505 */ 
 61561, /* 61569 */ 
 61631, /* 61633 */ 
 61687, /* 61697 */ 
 61757, /* 61761 */ 
 61819, /* 61825 */ 
 61879, /* 61889 */ 
 61949, /* 61953 */ 
 62017, /* 62017 */ 
 62081, /* 62081 */ 
 62143, /* 62145 */ 
 62207, /* 62209 */ 
 62273, /* 62273 */ 
 62327, /* 62337 */ 
 62401, /* 62401 */ 
 62459, /* 62465 */ 
 62507, /* 62529 */ 
 62591, /* 62593 */ 
 62653, /* 62657 */ 
 62701, /* 62721 */ 
 62773, /* 62785 */ 
 62827, /* 62849 */ 
 62903, /* 62913 */ 
 62971, /* 62977 */ 
 63031, /* 63041 */ 
 63103, /* 63105 */ 
 63149, /* 63169 */ 
 63211, /* 63233 */ 
 63281, /* 63297 */ 
 63361, /* 63361 */ 
 63421, /* 63425 */ 
 63487, /* 63489 */ 
 63541, /* 63553 */ 
 63617, /* 63617 */ 
 63671, /* 63681 */ 
 63743, /* 63745 */ 
 63809, /* 63809 */ 
 63863, /* 63873 */ 
 63929, /* 63937 */ 
 63997, /* 64001 */ 
 64063, /* 64065 */ 
 64123, /* 64129 */ 
 64189, /* 64193 */ 
 64237, /* 64257 */ 
 64319, /* 64321 */ 
 64381, /* 64385 */ 
 64439, /* 64449 */ 
 64513, /* 64513 */ 
 64577, /* 64577 */ 
 64633, /* 64641 */ 
 64693, /* 64705 */ 
 64763, /* 64769 */ 
 64817, /* 64833 */ 
 64891, /* 64897 */ 
 64951, /* 64961 */ 
 65011, /* 65025 */ 
 65089, /* 65089 */ 
 65147, /* 65153 */ 
 65213, /* 65217 */ 
 65269, /* 65281 */ 
 65327, /* 65345 */ 
 65407, /* 65409 */ 
 65449, /* 65473 */ 
};
/* 0-1M, increments=1024 */
static 
unsigned prime_table2[1024]={
  1021, /* 1024 */ 
  2039, /* 2048 */ 
  3067, /* 3072 */ 
  4093, /* 4096 */ 
  5119, /* 5120 */ 
  6143, /* 6144 */ 
  7159, /* 7168 */ 
  8191, /* 8192 */ 
  9209, /* 9216 */ 
  10223, /* 10240 */ 
  11261, /* 11264 */ 
  12281, /* 12288 */ 
  13309, /* 13312 */ 
  14327, /* 14336 */ 
  15359, /* 15360 */ 
  16381, /* 16384 */ 
  17401, /* 17408 */ 
  18427, /* 18432 */ 
  19447, /* 19456 */ 
  20479, /* 20480 */ 
  21503, /* 21504 */ 
  22511, /* 22528 */ 
  23549, /* 23552 */ 
  24571, /* 24576 */ 
  25589, /* 25600 */ 
  26597, /* 26624 */ 
  27647, /* 27648 */ 
  28669, /* 28672 */ 
  29683, /* 29696 */ 
  30713, /* 30720 */ 
  31741, /* 31744 */ 
  32749, /* 32768 */ 
  33791, /* 33792 */ 
  34807, /* 34816 */ 
  35839, /* 35840 */ 
  36857, /* 36864 */ 
  37879, /* 37888 */ 
  38903, /* 38912 */ 
  39929, /* 39936 */ 
  40949, /* 40960 */ 
  41983, /* 41984 */ 
  43003, /* 43008 */ 
  44029, /* 44032 */ 
  45053, /* 45056 */ 
  46073, /* 46080 */ 
  47093, /* 47104 */ 
  48121, /* 48128 */ 
  49139, /* 49152 */ 
  50159, /* 50176 */ 
  51199, /* 51200 */ 
  52223, /* 52224 */ 
  53239, /* 53248 */ 
  54269, /* 54272 */ 
  55291, /* 55296 */ 
  56311, /* 56320 */ 
  57331, /* 57344 */ 
  58367, /* 58368 */ 
  59387, /* 59392 */ 
  60413, /* 60416 */ 
  61417, /* 61440 */ 
  62459, /* 62464 */ 
  63487, /* 63488 */ 
  64499, /* 64512 */ 
  65521, /* 65536 */ 
  66553, /* 66560 */ 
  67579, /* 67584 */ 
  68597, /* 68608 */ 
  69623, /* 69632 */ 
  70639, /* 70656 */ 
  71671, /* 71680 */ 
  72701, /* 72704 */ 
  73727, /* 73728 */ 
  74747, /* 74752 */ 
  75773, /* 75776 */ 
  76781, /* 76800 */ 
  77813, /* 77824 */ 
  78839, /* 78848 */ 
  79867, /* 79872 */ 
  80863, /* 80896 */ 
  81919, /* 81920 */ 
  82939, /* 82944 */ 
  83939, /* 83968 */ 
  84991, /* 84992 */ 
  86011, /* 86016 */ 
  87037, /* 87040 */ 
  88037, /* 88064 */ 
  89087, /* 89088 */ 
  90107, /* 90112 */ 
  91129, /* 91136 */ 
  92153, /* 92160 */ 
  93179, /* 93184 */ 
  94207, /* 94208 */ 
  95231, /* 95232 */ 
  96233, /* 96256 */ 
  97259, /* 97280 */ 
  98299, /* 98304 */ 
  99317, /* 99328 */ 
  100343, /* 100352 */ 
  101363, /* 101376 */ 
  102397, /* 102400 */ 
  103423, /* 103424 */ 
  104417, /* 104448 */ 
  105467, /* 105472 */ 
  106487, /* 106496 */ 
  107509, /* 107520 */ 
  108541, /* 108544 */ 
  109567, /* 109568 */ 
  110587, /* 110592 */ 
  111611, /* 111616 */ 
  112621, /* 112640 */ 
  113657, /* 113664 */ 
  114679, /* 114688 */ 
  115693, /* 115712 */ 
  116731, /* 116736 */ 
  117757, /* 117760 */ 
  118757, /* 118784 */ 
  119797, /* 119808 */ 
  120829, /* 120832 */ 
  121853, /* 121856 */ 
  122869, /* 122880 */ 
  123887, /* 123904 */ 
  124919, /* 124928 */ 
  125941, /* 125952 */ 
  126967, /* 126976 */ 
  127997, /* 128000 */ 
  129023, /* 129024 */ 
  130043, /* 130048 */ 
  131071, /* 131072 */ 
  132071, /* 132096 */ 
  133117, /* 133120 */ 
  134129, /* 134144 */ 
  135151, /* 135168 */ 
  136189, /* 136192 */ 
  137209, /* 137216 */ 
  138239, /* 138240 */ 
  139241, /* 139264 */ 
  140281, /* 140288 */ 
  141311, /* 141312 */ 
  142327, /* 142336 */ 
  143357, /* 143360 */ 
  144383, /* 144384 */ 
  145399, /* 145408 */ 
  146423, /* 146432 */ 
  147451, /* 147456 */ 
  148471, /* 148480 */ 
  149503, /* 149504 */ 
  150523, /* 150528 */ 
  151549, /* 151552 */ 
  152567, /* 152576 */ 
  153589, /* 153600 */ 
  154621, /* 154624 */ 
  155627, /* 155648 */ 
  156671, /* 156672 */ 
  157679, /* 157696 */ 
  158699, /* 158720 */ 
  159739, /* 159744 */ 
  160757, /* 160768 */ 
  161783, /* 161792 */ 
  162791, /* 162816 */ 
  163819, /* 163840 */ 
  164839, /* 164864 */ 
  165887, /* 165888 */ 
  166909, /* 166912 */ 
  167917, /* 167936 */ 
  168943, /* 168960 */ 
  169957, /* 169984 */ 
  171007, /* 171008 */ 
  172031, /* 172032 */ 
  173053, /* 173056 */ 
  174079, /* 174080 */ 
  175103, /* 175104 */ 
  176123, /* 176128 */ 
  177131, /* 177152 */ 
  178169, /* 178176 */ 
  179173, /* 179200 */ 
  180221, /* 180224 */ 
  181243, /* 181248 */ 
  182261, /* 182272 */ 
  183289, /* 183296 */ 
  184309, /* 184320 */ 
  185327, /* 185344 */ 
  186343, /* 186368 */ 
  187387, /* 187392 */ 
  188407, /* 188416 */ 
  189439, /* 189440 */ 
  190409, /* 190464 */ 
  191473, /* 191488 */ 
  192499, /* 192512 */ 
  193513, /* 193536 */ 
  194543, /* 194560 */ 
  195581, /* 195584 */ 
  196597, /* 196608 */ 
  197621, /* 197632 */ 
  198647, /* 198656 */ 
  199679, /* 199680 */ 
  200699, /* 200704 */ 
  201709, /* 201728 */ 
  202751, /* 202752 */ 
  203773, /* 203776 */ 
  204797, /* 204800 */ 
  205823, /* 205824 */ 
  206827, /* 206848 */ 
  207869, /* 207872 */ 
  208891, /* 208896 */ 
  209917, /* 209920 */ 
  210943, /* 210944 */ 
  211949, /* 211968 */ 
  212987, /* 212992 */ 
  214009, /* 214016 */ 
  214993, /* 215040 */ 
  216061, /* 216064 */ 
  217081, /* 217088 */ 
  218111, /* 218112 */ 
  219133, /* 219136 */ 
  220151, /* 220160 */ 
  221173, /* 221184 */ 
  222199, /* 222208 */ 
  223229, /* 223232 */ 
  224251, /* 224256 */ 
  225263, /* 225280 */ 
  226283, /* 226304 */ 
  227303, /* 227328 */ 
  228341, /* 228352 */ 
  229373, /* 229376 */ 
  230393, /* 230400 */ 
  231419, /* 231424 */ 
  232439, /* 232448 */ 
  233437, /* 233472 */ 
  234473, /* 234496 */ 
  235519, /* 235520 */ 
  236527, /* 236544 */ 
  237563, /* 237568 */ 
  238591, /* 238592 */ 
  239611, /* 239616 */ 
  240631, /* 240640 */ 
  241663, /* 241664 */ 
  242681, /* 242688 */ 
  243709, /* 243712 */ 
  244733, /* 244736 */ 
  245759, /* 245760 */ 
  246781, /* 246784 */ 
  247799, /* 247808 */ 
  248827, /* 248832 */ 
  249853, /* 249856 */ 
  250871, /* 250880 */ 
  251903, /* 251904 */ 
  252919, /* 252928 */ 
  253951, /* 253952 */ 
  254971, /* 254976 */ 
  255989, /* 256000 */ 
  257017, /* 257024 */ 
  258031, /* 258048 */ 
  259033, /* 259072 */ 
  260089, /* 260096 */ 
  261101, /* 261120 */ 
  262139, /* 262144 */ 
  263167, /* 263168 */ 
  264179, /* 264192 */ 
  265207, /* 265216 */ 
  266239, /* 266240 */ 
  267259, /* 267264 */ 
  268283, /* 268288 */ 
  269281, /* 269312 */ 
  270329, /* 270336 */ 
  271357, /* 271360 */ 
  272383, /* 272384 */ 
  273367, /* 273408 */ 
  274423, /* 274432 */ 
  275453, /* 275456 */ 
  276467, /* 276480 */ 
  277499, /* 277504 */ 
  278503, /* 278528 */ 
  279551, /* 279552 */ 
  280561, /* 280576 */ 
  281581, /* 281600 */ 
  282617, /* 282624 */ 
  283639, /* 283648 */ 
  284659, /* 284672 */ 
  285673, /* 285696 */ 
  286711, /* 286720 */ 
  287731, /* 287744 */ 
  288767, /* 288768 */ 
  289789, /* 289792 */ 
  290803, /* 290816 */ 
  291833, /* 291840 */ 
  292849, /* 292864 */ 
  293863, /* 293888 */ 
  294911, /* 294912 */ 
  295909, /* 295936 */ 
  296941, /* 296960 */ 
  297971, /* 297984 */ 
  298999, /* 299008 */ 
  300023, /* 300032 */ 
  301051, /* 301056 */ 
  302053, /* 302080 */ 
  303097, /* 303104 */ 
  304127, /* 304128 */ 
  305147, /* 305152 */ 
  306169, /* 306176 */ 
  307189, /* 307200 */ 
  308219, /* 308224 */ 
  309241, /* 309248 */ 
  310243, /* 310272 */ 
  311293, /* 311296 */ 
  312313, /* 312320 */ 
  313343, /* 313344 */ 
  314359, /* 314368 */ 
  315389, /* 315392 */ 
  316403, /* 316416 */ 
  317437, /* 317440 */ 
  318457, /* 318464 */ 
  319483, /* 319488 */ 
  320483, /* 320512 */ 
  321509, /* 321536 */ 
  322559, /* 322560 */ 
  323581, /* 323584 */ 
  324593, /* 324608 */ 
  325631, /* 325632 */ 
  326633, /* 326656 */ 
  327673, /* 327680 */ 
  328687, /* 328704 */ 
  329723, /* 329728 */ 
  330749, /* 330752 */ 
  331769, /* 331776 */ 
  332791, /* 332800 */ 
  333821, /* 333824 */ 
  334843, /* 334848 */ 
  335857, /* 335872 */ 
  336887, /* 336896 */ 
  337919, /* 337920 */ 
  338927, /* 338944 */ 
  339959, /* 339968 */ 
  340979, /* 340992 */ 
  341993, /* 342016 */ 
  343037, /* 343040 */ 
  344053, /* 344064 */ 
  345067, /* 345088 */ 
  346111, /* 346112 */ 
  347131, /* 347136 */ 
  348149, /* 348160 */ 
  349183, /* 349184 */ 
  350191, /* 350208 */ 
  351229, /* 351232 */ 
  352249, /* 352256 */ 
  353263, /* 353280 */ 
  354301, /* 354304 */ 
  355321, /* 355328 */ 
  356351, /* 356352 */ 
  357359, /* 357376 */ 
  358373, /* 358400 */ 
  359419, /* 359424 */ 
  360439, /* 360448 */ 
  361469, /* 361472 */ 
  362473, /* 362496 */ 
  363497, /* 363520 */ 
  364543, /* 364544 */ 
  365567, /* 365568 */ 
  366547, /* 366592 */ 
  367613, /* 367616 */ 
  368633, /* 368640 */ 
  369661, /* 369664 */ 
  370687, /* 370688 */ 
  371699, /* 371712 */ 
  372733, /* 372736 */ 
  373757, /* 373760 */ 
  374783, /* 374784 */ 
  375799, /* 375808 */ 
  376823, /* 376832 */ 
  377851, /* 377856 */ 
  378869, /* 378880 */ 
  379903, /* 379904 */ 
  380917, /* 380928 */ 
  381949, /* 381952 */ 
  382961, /* 382976 */ 
  383987, /* 384000 */ 
  385013, /* 385024 */ 
  386047, /* 386048 */ 
  387071, /* 387072 */ 
  388081, /* 388096 */ 
  389117, /* 389120 */ 
  390119, /* 390144 */ 
  391163, /* 391168 */ 
  392177, /* 392192 */ 
  393209, /* 393216 */ 
  394223, /* 394240 */ 
  395261, /* 395264 */ 
  396269, /* 396288 */ 
  397303, /* 397312 */ 
  398323, /* 398336 */ 
  399353, /* 399360 */ 
  400381, /* 400384 */ 
  401407, /* 401408 */ 
  402419, /* 402432 */ 
  403439, /* 403456 */ 
  404461, /* 404480 */ 
  405499, /* 405504 */ 
  406517, /* 406528 */ 
  407527, /* 407552 */ 
  408563, /* 408576 */ 
  409597, /* 409600 */ 
  410623, /* 410624 */ 
  411641, /* 411648 */ 
  412667, /* 412672 */ 
  413689, /* 413696 */ 
  414709, /* 414720 */ 
  415729, /* 415744 */ 
  416761, /* 416768 */ 
  417773, /* 417792 */ 
  418813, /* 418816 */ 
  419831, /* 419840 */ 
  420859, /* 420864 */ 
  421847, /* 421888 */ 
  422911, /* 422912 */ 
  423931, /* 423936 */ 
  424939, /* 424960 */ 
  425977, /* 425984 */ 
  427001, /* 427008 */ 
  428027, /* 428032 */ 
  429043, /* 429056 */ 
  430061, /* 430080 */ 
  431099, /* 431104 */ 
  432121, /* 432128 */ 
  433151, /* 433152 */ 
  434167, /* 434176 */ 
  435191, /* 435200 */ 
  436217, /* 436224 */ 
  437243, /* 437248 */ 
  438271, /* 438272 */ 
  439289, /* 439296 */ 
  440311, /* 440320 */ 
  441319, /* 441344 */ 
  442367, /* 442368 */ 
  443389, /* 443392 */ 
  444403, /* 444416 */ 
  445433, /* 445440 */ 
  446461, /* 446464 */ 
  447481, /* 447488 */ 
  448451, /* 448512 */ 
  449473, /* 449536 */ 
  450557, /* 450560 */ 
  451579, /* 451584 */ 
  452597, /* 452608 */ 
  453631, /* 453632 */ 
  454637, /* 454656 */ 
  455659, /* 455680 */ 
  456697, /* 456704 */ 
  457711, /* 457728 */ 
  458747, /* 458752 */ 
  459763, /* 459776 */ 
  460793, /* 460800 */ 
  461819, /* 461824 */ 
  462841, /* 462848 */ 
  463867, /* 463872 */ 
  464879, /* 464896 */ 
  465917, /* 465920 */ 
  466919, /* 466944 */ 
  467963, /* 467968 */ 
  468983, /* 468992 */ 
  469993, /* 470016 */ 
  471007, /* 471040 */ 
  472063, /* 472064 */ 
  473027, /* 473088 */ 
  474101, /* 474112 */ 
  475109, /* 475136 */ 
  476143, /* 476160 */ 
  477163, /* 477184 */ 
  478207, /* 478208 */ 
  479231, /* 479232 */ 
  480209, /* 480256 */ 
  481249, /* 481280 */ 
  482281, /* 482304 */ 
  483323, /* 483328 */ 
  484339, /* 484352 */ 
  485371, /* 485376 */ 
  486397, /* 486400 */ 
  487423, /* 487424 */ 
  488441, /* 488448 */ 
  489457, /* 489472 */ 
  490493, /* 490496 */ 
  491503, /* 491520 */ 
  492523, /* 492544 */ 
  493567, /* 493568 */ 
  494591, /* 494592 */ 
  495613, /* 495616 */ 
  496631, /* 496640 */ 
  497663, /* 497664 */ 
  498679, /* 498688 */ 
  499711, /* 499712 */ 
  500729, /* 500736 */ 
  501731, /* 501760 */ 
  502781, /* 502784 */ 
  503803, /* 503808 */ 
  504821, /* 504832 */ 
  505823, /* 505856 */ 
  506873, /* 506880 */ 
  507901, /* 507904 */ 
  508919, /* 508928 */ 
  509947, /* 509952 */ 
  510943, /* 510976 */ 
  511997, /* 512000 */ 
  513017, /* 513024 */ 
  514021, /* 514048 */ 
  515041, /* 515072 */ 
  516091, /* 516096 */ 
  517091, /* 517120 */ 
  518137, /* 518144 */ 
  519161, /* 519168 */ 
  520151, /* 520192 */ 
  521201, /* 521216 */ 
  522239, /* 522240 */ 
  523261, /* 523264 */ 
  524287, /* 524288 */ 
  525299, /* 525312 */ 
  526307, /* 526336 */ 
  527353, /* 527360 */ 
  528383, /* 528384 */ 
  529393, /* 529408 */ 
  530429, /* 530432 */ 
  531383, /* 531456 */ 
  532453, /* 532480 */ 
  533459, /* 533504 */ 
  534511, /* 534528 */ 
  535547, /* 535552 */ 
  536563, /* 536576 */ 
  537599, /* 537600 */ 
  538621, /* 538624 */ 
  539641, /* 539648 */ 
  540629, /* 540672 */ 
  541693, /* 541696 */ 
  542719, /* 542720 */ 
  543713, /* 543744 */ 
  544759, /* 544768 */ 
  545791, /* 545792 */ 
  546781, /* 546816 */ 
  547831, /* 547840 */ 
  548861, /* 548864 */ 
  549883, /* 549888 */ 
  550909, /* 550912 */ 
  551933, /* 551936 */ 
  552917, /* 552960 */ 
  553981, /* 553984 */ 
  554977, /* 555008 */ 
  556027, /* 556032 */ 
  557041, /* 557056 */ 
  558067, /* 558080 */ 
  559099, /* 559104 */ 
  560123, /* 560128 */ 
  561109, /* 561152 */ 
  562169, /* 562176 */ 
  563197, /* 563200 */ 
  564197, /* 564224 */ 
  565247, /* 565248 */ 
  566233, /* 566272 */ 
  567277, /* 567296 */ 
  568303, /* 568320 */ 
  569323, /* 569344 */ 
  570359, /* 570368 */ 
  571381, /* 571392 */ 
  572399, /* 572416 */ 
  573437, /* 573440 */ 
  574439, /* 574464 */ 
  575479, /* 575488 */ 
  576509, /* 576512 */ 
  577531, /* 577536 */ 
  578537, /* 578560 */ 
  579583, /* 579584 */ 
  580607, /* 580608 */ 
  581617, /* 581632 */ 
  582649, /* 582656 */ 
  583673, /* 583680 */ 
  584699, /* 584704 */ 
  585727, /* 585728 */ 
  586741, /* 586752 */ 
  587773, /* 587776 */ 
  588779, /* 588800 */ 
  589811, /* 589824 */ 
  590839, /* 590848 */ 
  591863, /* 591872 */ 
  592877, /* 592896 */ 
  593903, /* 593920 */ 
  594931, /* 594944 */ 
  595967, /* 595968 */ 
  596987, /* 596992 */ 
  598007, /* 598016 */ 
  599023, /* 599040 */ 
  600053, /* 600064 */ 
  601079, /* 601088 */ 
  602111, /* 602112 */ 
  603133, /* 603136 */ 
  604073, /* 604160 */ 
  605177, /* 605184 */ 
  606181, /* 606208 */ 
  607219, /* 607232 */ 
  608213, /* 608256 */ 
  609277, /* 609280 */ 
  610301, /* 610304 */ 
  611323, /* 611328 */ 
  612349, /* 612352 */ 
  613367, /* 613376 */ 
  614387, /* 614400 */ 
  615413, /* 615424 */ 
  616439, /* 616448 */ 
  617471, /* 617472 */ 
  618463, /* 618496 */ 
  619511, /* 619520 */ 
  620531, /* 620544 */ 
  621541, /* 621568 */ 
  622577, /* 622592 */ 
  623591, /* 623616 */ 
  624607, /* 624640 */ 
  625663, /* 625664 */ 
  626687, /* 626688 */ 
  627709, /* 627712 */ 
  628721, /* 628736 */ 
  629747, /* 629760 */ 
  630737, /* 630784 */ 
  631789, /* 631808 */ 
  632813, /* 632832 */ 
  633833, /* 633856 */ 
  634871, /* 634880 */ 
  635893, /* 635904 */ 
  636919, /* 636928 */ 
  637939, /* 637952 */ 
  638971, /* 638976 */ 
  639997, /* 640000 */ 
  640993, /* 641024 */ 
  642013, /* 642048 */ 
  643061, /* 643072 */ 
  644089, /* 644096 */ 
  645097, /* 645120 */ 
  646103, /* 646144 */ 
  647161, /* 647168 */ 
  648191, /* 648192 */ 
  649183, /* 649216 */ 
  650227, /* 650240 */ 
  651257, /* 651264 */ 
  652283, /* 652288 */ 
  653311, /* 653312 */ 
  654323, /* 654336 */ 
  655357, /* 655360 */ 
  656377, /* 656384 */ 
  657403, /* 657408 */ 
  658417, /* 658432 */ 
  659453, /* 659456 */ 
  660449, /* 660480 */ 
  661483, /* 661504 */ 
  662527, /* 662528 */ 
  663547, /* 663552 */ 
  664571, /* 664576 */ 
  665591, /* 665600 */ 
  666607, /* 666624 */ 
  667643, /* 667648 */ 
  668671, /* 668672 */ 
  669689, /* 669696 */ 
  670711, /* 670720 */ 
  671743, /* 671744 */ 
  672767, /* 672768 */ 
  673787, /* 673792 */ 
  674813, /* 674816 */ 
  675839, /* 675840 */ 
  676861, /* 676864 */ 
  677857, /* 677888 */ 
  678907, /* 678912 */ 
  679933, /* 679936 */ 
  680959, /* 680960 */ 
  681983, /* 681984 */ 
  683003, /* 683008 */ 
  684017, /* 684032 */ 
  685051, /* 685056 */ 
  686057, /* 686080 */ 
  687101, /* 687104 */ 
  688111, /* 688128 */ 
  689141, /* 689152 */ 
  690163, /* 690176 */ 
  691199, /* 691200 */ 
  692221, /* 692224 */ 
  693223, /* 693248 */ 
  694271, /* 694272 */ 
  695293, /* 695296 */ 
  696317, /* 696320 */ 
  697327, /* 697344 */ 
  698359, /* 698368 */ 
  699383, /* 699392 */ 
  700393, /* 700416 */ 
  701419, /* 701440 */ 
  702451, /* 702464 */ 
  703471, /* 703488 */ 
  704507, /* 704512 */ 
  705533, /* 705536 */ 
  706547, /* 706560 */ 
  707573, /* 707584 */ 
  708601, /* 708608 */ 
  709609, /* 709632 */ 
  710641, /* 710656 */ 
  711679, /* 711680 */ 
  712697, /* 712704 */ 
  713681, /* 713728 */ 
  714751, /* 714752 */ 
  715753, /* 715776 */ 
  716789, /* 716800 */ 
  717817, /* 717824 */ 
  718847, /* 718848 */ 
  719839, /* 719872 */ 
  720887, /* 720896 */ 
  721909, /* 721920 */ 
  722933, /* 722944 */ 
  723967, /* 723968 */ 
  724991, /* 724992 */ 
  726013, /* 726016 */ 
  727021, /* 727040 */ 
  728047, /* 728064 */ 
  729073, /* 729088 */ 
  730111, /* 730112 */ 
  731117, /* 731136 */ 
  732157, /* 732160 */ 
  733177, /* 733184 */ 
  734207, /* 734208 */ 
  735211, /* 735232 */ 
  736249, /* 736256 */ 
  737279, /* 737280 */ 
  738301, /* 738304 */ 
  739327, /* 739328 */ 
  740351, /* 740352 */ 
  741373, /* 741376 */ 
  742393, /* 742400 */ 
  743423, /* 743424 */ 
  744431, /* 744448 */ 
  745471, /* 745472 */ 
  746483, /* 746496 */ 
  747499, /* 747520 */ 
  748541, /* 748544 */ 
  749557, /* 749568 */ 
  750571, /* 750592 */ 
  751613, /* 751616 */ 
  752639, /* 752640 */ 
  753659, /* 753664 */ 
  754651, /* 754688 */ 
  755707, /* 755712 */ 
  756727, /* 756736 */ 
  757753, /* 757760 */ 
  758783, /* 758784 */ 
  759799, /* 759808 */ 
  760813, /* 760832 */ 
  761833, /* 761856 */ 
  762877, /* 762880 */ 
  763901, /* 763904 */ 
  764903, /* 764928 */ 
  765949, /* 765952 */ 
  766967, /* 766976 */ 
  767957, /* 768000 */ 
  769019, /* 769024 */ 
  770047, /* 770048 */ 
  771049, /* 771072 */ 
  772091, /* 772096 */ 
  773117, /* 773120 */ 
  774143, /* 774144 */ 
  775163, /* 775168 */ 
  776183, /* 776192 */ 
  777209, /* 777216 */ 
  778237, /* 778240 */ 
  779249, /* 779264 */ 
  780287, /* 780288 */ 
  781309, /* 781312 */ 
  782329, /* 782336 */ 
  783359, /* 783360 */ 
  784379, /* 784384 */ 
  785377, /* 785408 */ 
  786431, /* 786432 */ 
  787447, /* 787456 */ 
  788479, /* 788480 */ 
  789493, /* 789504 */ 
  790523, /* 790528 */ 
  791543, /* 791552 */ 
  792563, /* 792576 */ 
  793591, /* 793600 */ 
  794593, /* 794624 */ 
  795647, /* 795648 */ 
  796657, /* 796672 */ 
  797689, /* 797696 */ 
  798713, /* 798720 */ 
  799741, /* 799744 */ 
  800759, /* 800768 */ 
  801791, /* 801792 */ 
  802811, /* 802816 */ 
  803819, /* 803840 */ 
  804857, /* 804864 */ 
  805877, /* 805888 */ 
  806903, /* 806912 */ 
  807931, /* 807936 */ 
  808957, /* 808960 */ 
  809983, /* 809984 */ 
  810989, /* 811008 */ 
  812011, /* 812032 */ 
  813049, /* 813056 */ 
  814069, /* 814080 */ 
  815063, /* 815104 */ 
  816121, /* 816128 */ 
  817151, /* 817152 */ 
  818173, /* 818176 */ 
  819187, /* 819200 */ 
  820223, /* 820224 */ 
  821209, /* 821248 */ 
  822259, /* 822272 */ 
  823283, /* 823296 */ 
  824287, /* 824320 */ 
  825343, /* 825344 */ 
  826363, /* 826368 */ 
  827389, /* 827392 */ 
  828409, /* 828416 */ 
  829399, /* 829440 */ 
  830449, /* 830464 */ 
  831461, /* 831488 */ 
  832499, /* 832512 */ 
  833509, /* 833536 */ 
  834527, /* 834560 */ 
  835559, /* 835584 */ 
  836573, /* 836608 */ 
  837631, /* 837632 */ 
  838633, /* 838656 */ 
  839669, /* 839680 */ 
  840703, /* 840704 */ 
  841727, /* 841728 */ 
  842747, /* 842752 */ 
  843763, /* 843776 */ 
  844777, /* 844800 */ 
  845809, /* 845824 */ 
  846841, /* 846848 */ 
  847871, /* 847872 */ 
  848893, /* 848896 */ 
  849917, /* 849920 */ 
  850943, /* 850944 */ 
  851957, /* 851968 */ 
  852989, /* 852992 */ 
  853999, /* 854016 */ 
  855031, /* 855040 */ 
  856061, /* 856064 */ 
  857083, /* 857088 */ 
  858103, /* 858112 */ 
  859121, /* 859136 */ 
  860143, /* 860160 */ 
  861167, /* 861184 */ 
  862207, /* 862208 */ 
  863231, /* 863232 */ 
  864251, /* 864256 */ 
  865261, /* 865280 */ 
  866293, /* 866304 */ 
  867319, /* 867328 */ 
  868349, /* 868352 */ 
  869371, /* 869376 */ 
  870391, /* 870400 */ 
  871393, /* 871424 */ 
  872441, /* 872448 */ 
  873469, /* 873472 */ 
  874487, /* 874496 */ 
  875519, /* 875520 */ 
  876529, /* 876544 */ 
  877567, /* 877568 */ 
  878573, /* 878592 */ 
  879607, /* 879616 */ 
  880603, /* 880640 */ 
  881663, /* 881664 */ 
  882659, /* 882688 */ 
  883703, /* 883712 */ 
  884717, /* 884736 */ 
  885737, /* 885760 */ 
  886777, /* 886784 */ 
  887759, /* 887808 */ 
  888827, /* 888832 */ 
  889829, /* 889856 */ 
  890867, /* 890880 */ 
  891899, /* 891904 */ 
  892919, /* 892928 */ 
  893939, /* 893952 */ 
  894973, /* 894976 */ 
  895987, /* 896000 */ 
  897019, /* 897024 */ 
  898033, /* 898048 */ 
  899069, /* 899072 */ 
  900091, /* 900096 */ 
  901111, /* 901120 */ 
  902141, /* 902144 */ 
  903163, /* 903168 */ 
  904181, /* 904192 */ 
  905213, /* 905216 */ 
  906233, /* 906240 */ 
  907259, /* 907264 */ 
  908287, /* 908288 */ 
  909301, /* 909312 */ 
  910307, /* 910336 */ 
  911359, /* 911360 */ 
  912367, /* 912384 */ 
  913397, /* 913408 */ 
  914429, /* 914432 */ 
  915451, /* 915456 */ 
  916477, /* 916480 */ 
  917503, /* 917504 */ 
  918497, /* 918528 */ 
  919531, /* 919552 */ 
  920561, /* 920576 */ 
  921589, /* 921600 */ 
  922619, /* 922624 */ 
  923641, /* 923648 */ 
  924661, /* 924672 */ 
  925679, /* 925696 */ 
  926707, /* 926720 */ 
  927743, /* 927744 */ 
  928703, /* 928768 */ 
  929791, /* 929792 */ 
  930779, /* 930816 */ 
  931837, /* 931840 */ 
  932863, /* 932864 */ 
  933883, /* 933888 */ 
  934909, /* 934912 */ 
  935903, /* 935936 */ 
  936953, /* 936960 */ 
  937969, /* 937984 */ 
  939007, /* 939008 */ 
  940031, /* 940032 */ 
  941041, /* 941056 */ 
  942079, /* 942080 */ 
  943097, /* 943104 */ 
  944123, /* 944128 */ 
  945151, /* 945152 */ 
  946163, /* 946176 */ 
  947197, /* 947200 */ 
  948187, /* 948224 */ 
  949243, /* 949248 */ 
  950269, /* 950272 */ 
  951283, /* 951296 */ 
  952313, /* 952320 */ 
  953341, /* 953344 */ 
  954367, /* 954368 */ 
  955391, /* 955392 */ 
  956401, /* 956416 */ 
  957433, /* 957440 */ 
  958459, /* 958464 */ 
  959479, /* 959488 */ 
  960499, /* 960512 */ 
  961531, /* 961536 */ 
  962543, /* 962560 */ 
  963581, /* 963584 */ 
  964589, /* 964608 */ 
  965623, /* 965632 */ 
  966653, /* 966656 */ 
  967667, /* 967680 */ 
  968699, /* 968704 */ 
  969721, /* 969728 */ 
  970747, /* 970752 */ 
  971767, /* 971776 */ 
  972799, /* 972800 */ 
  973823, /* 973824 */ 
  974837, /* 974848 */ 
  975869, /* 975872 */ 
  976883, /* 976896 */ 
  977897, /* 977920 */ 
  978931, /* 978944 */ 
  979949, /* 979968 */ 
  980963, /* 980992 */ 
  981983, /* 982016 */ 
  982981, /* 983040 */ 
  984059, /* 984064 */ 
  985079, /* 985088 */ 
  986101, /* 986112 */ 
  987127, /* 987136 */ 
  988157, /* 988160 */ 
  989173, /* 989184 */ 
  990181, /* 990208 */ 
  991229, /* 991232 */ 
  992249, /* 992256 */ 
  993269, /* 993280 */ 
  994303, /* 994304 */ 
  995327, /* 995328 */ 
  996329, /* 996352 */ 
  997369, /* 997376 */ 
  998399, /* 998400 */ 
  999389, /* 999424 */ 
  1000429, /* 1000448 */ 
  1001467, /* 1001472 */ 
  1002493, /* 1002496 */ 
  1003517, /* 1003520 */ 
  1004537, /* 1004544 */ 
  1005553, /* 1005568 */ 
  1006589, /* 1006592 */ 
  1007609, /* 1007616 */ 
  1008617, /* 1008640 */ 
  1009651, /* 1009664 */ 
  1010687, /* 1010688 */ 
  1011697, /* 1011712 */ 
  1012733, /* 1012736 */ 
  1013741, /* 1013760 */ 
  1014779, /* 1014784 */ 
  1015769, /* 1015808 */ 
  1016789, /* 1016832 */ 
  1017851, /* 1017856 */ 
  1018879, /* 1018880 */ 
  1019903, /* 1019904 */ 
  1020913, /* 1020928 */ 
  1021919, /* 1021952 */ 
  1022963, /* 1022976 */ 
  1023991, /* 1024000 */ 
  1025021, /* 1025024 */ 
  1026043, /* 1026048 */ 
  1027067, /* 1027072 */ 
  1028089, /* 1028096 */ 
  1029113, /* 1029120 */ 
  1030121, /* 1030144 */ 
  1031161, /* 1031168 */ 
  1032191, /* 1032192 */ 
  1033189, /* 1033216 */ 
  1034239, /* 1034240 */ 
  1035263, /* 1035264 */ 
  1036271, /* 1036288 */ 
  1037303, /* 1037312 */ 
  1038329, /* 1038336 */ 
  1039351, /* 1039360 */ 
  1040381, /* 1040384 */ 
  1041373, /* 1041408 */ 
  1042427, /* 1042432 */ 
  1043453, /* 1043456 */ 
  1044479, /* 1044480 */ 
  1045493, /* 1045504 */ 
  1046527, /* 1046528 */ 
  1047551, /* 1047552 */ 
};
/* 0-128M, increments=102400 */
static 
unsigned prime_table3[1024]={
 131071, /* 131072 */ 
 262139, /* 262144 */ 
 393209, /* 393216 */ 
 524287, /* 524288 */ 
 655357, /* 655360 */ 
 786431, /* 786432 */ 
 917503, /* 917504 */ 
 1048573, /* 1048576 */ 
 1179641, /* 1179648 */ 
 1310719, /* 1310720 */ 
 1441771, /* 1441792 */ 
 1572853, /* 1572864 */ 
 1703903, /* 1703936 */ 
 1835003, /* 1835008 */ 
 1966079, /* 1966080 */ 
 2097143, /* 2097152 */ 
 2228221, /* 2228224 */ 
 2359267, /* 2359296 */ 
 2490337, /* 2490368 */ 
 2621431, /* 2621440 */ 
 2752499, /* 2752512 */ 
 2883577, /* 2883584 */ 
 3014653, /* 3014656 */ 
 3145721, /* 3145728 */ 
 3276799, /* 3276800 */ 
 3407857, /* 3407872 */ 
 3538933, /* 3538944 */ 
 3670013, /* 3670016 */ 
 3801073, /* 3801088 */ 
 3932153, /* 3932160 */ 
 4063217, /* 4063232 */ 
 4194301, /* 4194304 */ 
 4325359, /* 4325376 */ 
 4456433, /* 4456448 */ 
 4587503, /* 4587520 */ 
 4718579, /* 4718592 */ 
 4849651, /* 4849664 */ 
 4980727, /* 4980736 */ 
 5111791, /* 5111808 */ 
 5242877, /* 5242880 */ 
 5373931, /* 5373952 */ 
 5505023, /* 5505024 */ 
 5636077, /* 5636096 */ 
 5767129, /* 5767168 */ 
 5898209, /* 5898240 */ 
 6029299, /* 6029312 */ 
 6160381, /* 6160384 */ 
 6291449, /* 6291456 */ 
 6422519, /* 6422528 */ 
 6553577, /* 6553600 */ 
 6684659, /* 6684672 */ 
 6815741, /* 6815744 */ 
 6946813, /* 6946816 */ 
 7077883, /* 7077888 */ 
 7208951, /* 7208960 */ 
 7340009, /* 7340032 */ 
 7471099, /* 7471104 */ 
 7602151, /* 7602176 */ 
 7733233, /* 7733248 */ 
 7864301, /* 7864320 */ 
 7995391, /* 7995392 */ 
 8126453, /* 8126464 */ 
 8257531, /* 8257536 */ 
 8388593, /* 8388608 */ 
 8519647, /* 8519680 */ 
 8650727, /* 8650752 */ 
 8781797, /* 8781824 */ 
 8912887, /* 8912896 */ 
 9043967, /* 9043968 */ 
 9175037, /* 9175040 */ 
 9306097, /* 9306112 */ 
 9437179, /* 9437184 */ 
 9568219, /* 9568256 */ 
 9699323, /* 9699328 */ 
 9830393, /* 9830400 */ 
 9961463, /* 9961472 */ 
 10092539, /* 10092544 */ 
 10223593, /* 10223616 */ 
 10354667, /* 10354688 */ 
 10485751, /* 10485760 */ 
 10616831, /* 10616832 */ 
 10747903, /* 10747904 */ 
 10878961, /* 10878976 */ 
 11010037, /* 11010048 */ 
 11141113, /* 11141120 */ 
 11272181, /* 11272192 */ 
 11403247, /* 11403264 */ 
 11534329, /* 11534336 */ 
 11665403, /* 11665408 */ 
 11796469, /* 11796480 */ 
 11927551, /* 11927552 */ 
 12058621, /* 12058624 */ 
 12189677, /* 12189696 */ 
 12320753, /* 12320768 */ 
 12451807, /* 12451840 */ 
 12582893, /* 12582912 */ 
 12713959, /* 12713984 */ 
 12845033, /* 12845056 */ 
 12976121, /* 12976128 */ 
 13107197, /* 13107200 */ 
 13238263, /* 13238272 */ 
 13369333, /* 13369344 */ 
 13500373, /* 13500416 */ 
 13631477, /* 13631488 */ 
 13762549, /* 13762560 */ 
 13893613, /* 13893632 */ 
 14024671, /* 14024704 */ 
 14155763, /* 14155776 */ 
 14286809, /* 14286848 */ 
 14417881, /* 14417920 */ 
 14548979, /* 14548992 */ 
 14680063, /* 14680064 */ 
 14811133, /* 14811136 */ 
 14942197, /* 14942208 */ 
 15073277, /* 15073280 */ 
 15204349, /* 15204352 */ 
 15335407, /* 15335424 */ 
 15466463, /* 15466496 */ 
 15597559, /* 15597568 */ 
 15728611, /* 15728640 */ 
 15859687, /* 15859712 */ 
 15990781, /* 15990784 */ 
 16121849, /* 16121856 */ 
 16252919, /* 16252928 */ 
 16383977, /* 16384000 */ 
 16515067, /* 16515072 */ 
 16646099, /* 16646144 */ 
 16777213, /* 16777216 */ 
 16908263, /* 16908288 */ 
 17039339, /* 17039360 */ 
 17170429, /* 17170432 */ 
 17301463, /* 17301504 */ 
 17432561, /* 17432576 */ 
 17563633, /* 17563648 */ 
 17694709, /* 17694720 */ 
 17825791, /* 17825792 */ 
 17956849, /* 17956864 */ 
 18087899, /* 18087936 */ 
 18219001, /* 18219008 */ 
 18350063, /* 18350080 */ 
 18481097, /* 18481152 */ 
 18612211, /* 18612224 */ 
 18743281, /* 18743296 */ 
 18874367, /* 18874368 */ 
 19005433, /* 19005440 */ 
 19136503, /* 19136512 */ 
 19267561, /* 19267584 */ 
 19398647, /* 19398656 */ 
 19529717, /* 19529728 */ 
 19660799, /* 19660800 */ 
 19791869, /* 19791872 */ 
 19922923, /* 19922944 */ 
 20054011, /* 20054016 */ 
 20185051, /* 20185088 */ 
 20316151, /* 20316160 */ 
 20447191, /* 20447232 */ 
 20578297, /* 20578304 */ 
 20709347, /* 20709376 */ 
 20840429, /* 20840448 */ 
 20971507, /* 20971520 */ 
 21102583, /* 21102592 */ 
 21233651, /* 21233664 */ 
 21364727, /* 21364736 */ 
 21495797, /* 21495808 */ 
 21626819, /* 21626880 */ 
 21757951, /* 21757952 */ 
 21889019, /* 21889024 */ 
 22020091, /* 22020096 */ 
 22151167, /* 22151168 */ 
 22282199, /* 22282240 */ 
 22413289, /* 22413312 */ 
 22544351, /* 22544384 */ 
 22675403, /* 22675456 */ 
 22806521, /* 22806528 */ 
 22937591, /* 22937600 */ 
 23068667, /* 23068672 */ 
 23199731, /* 23199744 */ 
 23330773, /* 23330816 */ 
 23461877, /* 23461888 */ 
 23592937, /* 23592960 */ 
 23724031, /* 23724032 */ 
 23855101, /* 23855104 */ 
 23986159, /* 23986176 */ 
 24117217, /* 24117248 */ 
 24248299, /* 24248320 */ 
 24379391, /* 24379392 */ 
 24510463, /* 24510464 */ 
 24641479, /* 24641536 */ 
 24772603, /* 24772608 */ 
 24903667, /* 24903680 */ 
 25034731, /* 25034752 */ 
 25165813, /* 25165824 */ 
 25296893, /* 25296896 */ 
 25427957, /* 25427968 */ 
 25559033, /* 25559040 */ 
 25690097, /* 25690112 */ 
 25821179, /* 25821184 */ 
 25952243, /* 25952256 */ 
 26083273, /* 26083328 */ 
 26214379, /* 26214400 */ 
 26345471, /* 26345472 */ 
 26476543, /* 26476544 */ 
 26607611, /* 26607616 */ 
 26738687, /* 26738688 */ 
 26869753, /* 26869760 */ 
 27000817, /* 27000832 */ 
 27131903, /* 27131904 */ 
 27262931, /* 27262976 */ 
 27394019, /* 27394048 */ 
 27525109, /* 27525120 */ 
 27656149, /* 27656192 */ 
 27787213, /* 27787264 */ 
 27918323, /* 27918336 */ 
 28049407, /* 28049408 */ 
 28180459, /* 28180480 */ 
 28311541, /* 28311552 */ 
 28442551, /* 28442624 */ 
 28573673, /* 28573696 */ 
 28704749, /* 28704768 */ 
 28835819, /* 28835840 */ 
 28966909, /* 28966912 */ 
 29097977, /* 29097984 */ 
 29229047, /* 29229056 */ 
 29360087, /* 29360128 */ 
 29491193, /* 29491200 */ 
 29622269, /* 29622272 */ 
 29753341, /* 29753344 */ 
 29884411, /* 29884416 */ 
 30015481, /* 30015488 */ 
 30146531, /* 30146560 */ 
 30277627, /* 30277632 */ 
 30408701, /* 30408704 */ 
 30539749, /* 30539776 */ 
 30670847, /* 30670848 */ 
 30801917, /* 30801920 */ 
 30932987, /* 30932992 */ 
 31064063, /* 31064064 */ 
 31195117, /* 31195136 */ 
 31326181, /* 31326208 */ 
 31457269, /* 31457280 */ 
 31588351, /* 31588352 */ 
 31719409, /* 31719424 */ 
 31850491, /* 31850496 */ 
 31981567, /* 31981568 */ 
 32112607, /* 32112640 */ 
 32243707, /* 32243712 */ 
 32374781, /* 32374784 */ 
 32505829, /* 32505856 */ 
 32636921, /* 32636928 */ 
 32767997, /* 32768000 */ 
 32899037, /* 32899072 */ 
 33030121, /* 33030144 */ 
 33161201, /* 33161216 */ 
 33292283, /* 33292288 */ 
 33423319, /* 33423360 */ 
 33554393, /* 33554432 */ 
 33685493, /* 33685504 */ 
 33816571, /* 33816576 */ 
 33947621, /* 33947648 */ 
 34078699, /* 34078720 */ 
 34209787, /* 34209792 */ 
 34340861, /* 34340864 */ 
 34471933, /* 34471936 */ 
 34602991, /* 34603008 */ 
 34734079, /* 34734080 */ 
 34865141, /* 34865152 */ 
 34996223, /* 34996224 */ 
 35127263, /* 35127296 */ 
 35258347, /* 35258368 */ 
 35389423, /* 35389440 */ 
 35520467, /* 35520512 */ 
 35651579, /* 35651584 */ 
 35782613, /* 35782656 */ 
 35913727, /* 35913728 */ 
 36044797, /* 36044800 */ 
 36175871, /* 36175872 */ 
 36306937, /* 36306944 */ 
 36438013, /* 36438016 */ 
 36569083, /* 36569088 */ 
 36700159, /* 36700160 */ 
 36831227, /* 36831232 */ 
 36962291, /* 36962304 */ 
 37093373, /* 37093376 */ 
 37224437, /* 37224448 */ 
 37355503, /* 37355520 */ 
 37486591, /* 37486592 */ 
 37617653, /* 37617664 */ 
 37748717, /* 37748736 */ 
 37879783, /* 37879808 */ 
 38010871, /* 38010880 */ 
 38141951, /* 38141952 */ 
 38273023, /* 38273024 */ 
 38404081, /* 38404096 */ 
 38535151, /* 38535168 */ 
 38666219, /* 38666240 */ 
 38797303, /* 38797312 */ 
 38928371, /* 38928384 */ 
 39059431, /* 39059456 */ 
 39190519, /* 39190528 */ 
 39321599, /* 39321600 */ 
 39452671, /* 39452672 */ 
 39583727, /* 39583744 */ 
 39714799, /* 39714816 */ 
 39845887, /* 39845888 */ 
 39976939, /* 39976960 */ 
 40108027, /* 40108032 */ 
 40239103, /* 40239104 */ 
 40370173, /* 40370176 */ 
 40501231, /* 40501248 */ 
 40632313, /* 40632320 */ 
 40763369, /* 40763392 */ 
 40894457, /* 40894464 */ 
 41025499, /* 41025536 */ 
 41156569, /* 41156608 */ 
 41287651, /* 41287680 */ 
 41418739, /* 41418752 */ 
 41549803, /* 41549824 */ 
 41680871, /* 41680896 */ 
 41811949, /* 41811968 */ 
 41943023, /* 41943040 */ 
 42074101, /* 42074112 */ 
 42205183, /* 42205184 */ 
 42336253, /* 42336256 */ 
 42467317, /* 42467328 */ 
 42598397, /* 42598400 */ 
 42729437, /* 42729472 */ 
 42860537, /* 42860544 */ 
 42991609, /* 42991616 */ 
 43122683, /* 43122688 */ 
 43253759, /* 43253760 */ 
 43384813, /* 43384832 */ 
 43515881, /* 43515904 */ 
 43646963, /* 43646976 */ 
 43778011, /* 43778048 */ 
 43909111, /* 43909120 */ 
 44040187, /* 44040192 */ 
 44171261, /* 44171264 */ 
 44302303, /* 44302336 */ 
 44433391, /* 44433408 */ 
 44564461, /* 44564480 */ 
 44695549, /* 44695552 */ 
 44826611, /* 44826624 */ 
 44957687, /* 44957696 */ 
 45088739, /* 45088768 */ 
 45219827, /* 45219840 */ 
 45350869, /* 45350912 */ 
 45481973, /* 45481984 */ 
 45613039, /* 45613056 */ 
 45744121, /* 45744128 */ 
 45875191, /* 45875200 */ 
 46006249, /* 46006272 */ 
 46137319, /* 46137344 */ 
 46268381, /* 46268416 */ 
 46399471, /* 46399488 */ 
 46530557, /* 46530560 */ 
 46661627, /* 46661632 */ 
 46792699, /* 46792704 */ 
 46923761, /* 46923776 */ 
 47054809, /* 47054848 */ 
 47185907, /* 47185920 */ 
 47316991, /* 47316992 */ 
 47448061, /* 47448064 */ 
 47579131, /* 47579136 */ 
 47710207, /* 47710208 */ 
 47841257, /* 47841280 */ 
 47972341, /* 47972352 */ 
 48103417, /* 48103424 */ 
 48234451, /* 48234496 */ 
 48365563, /* 48365568 */ 
 48496639, /* 48496640 */ 
 48627697, /* 48627712 */ 
 48758783, /* 48758784 */ 
 48889837, /* 48889856 */ 
 49020913, /* 49020928 */ 
 49151987, /* 49152000 */ 
 49283063, /* 49283072 */ 
 49414111, /* 49414144 */ 
 49545193, /* 49545216 */ 
 49676267, /* 49676288 */ 
 49807327, /* 49807360 */ 
 49938431, /* 49938432 */ 
 50069497, /* 50069504 */ 
 50200573, /* 50200576 */ 
 50331599, /* 50331648 */ 
 50462683, /* 50462720 */ 
 50593783, /* 50593792 */ 
 50724859, /* 50724864 */ 
 50855899, /* 50855936 */ 
 50987003, /* 50987008 */ 
 51118069, /* 51118080 */ 
 51249131, /* 51249152 */ 
 51380179, /* 51380224 */ 
 51511277, /* 51511296 */ 
 51642341, /* 51642368 */ 
 51773431, /* 51773440 */ 
 51904511, /* 51904512 */ 
 52035569, /* 52035584 */ 
 52166641, /* 52166656 */ 
 52297717, /* 52297728 */ 
 52428767, /* 52428800 */ 
 52559867, /* 52559872 */ 
 52690919, /* 52690944 */ 
 52821983, /* 52822016 */ 
 52953077, /* 52953088 */ 
 53084147, /* 53084160 */ 
 53215229, /* 53215232 */ 
 53346301, /* 53346304 */ 
 53477357, /* 53477376 */ 
 53608441, /* 53608448 */ 
 53739493, /* 53739520 */ 
 53870573, /* 53870592 */ 
 54001663, /* 54001664 */ 
 54132721, /* 54132736 */ 
 54263789, /* 54263808 */ 
 54394877, /* 54394880 */ 
 54525917, /* 54525952 */ 
 54656983, /* 54657024 */ 
 54788089, /* 54788096 */ 
 54919159, /* 54919168 */ 
 55050217, /* 55050240 */ 
 55181311, /* 55181312 */ 
 55312351, /* 55312384 */ 
 55443433, /* 55443456 */ 
 55574507, /* 55574528 */ 
 55705589, /* 55705600 */ 
 55836659, /* 55836672 */ 
 55967701, /* 55967744 */ 
 56098813, /* 56098816 */ 
 56229881, /* 56229888 */ 
 56360911, /* 56360960 */ 
 56491993, /* 56492032 */ 
 56623093, /* 56623104 */ 
 56754167, /* 56754176 */ 
 56885219, /* 56885248 */ 
 57016319, /* 57016320 */ 
 57147379, /* 57147392 */ 
 57278461, /* 57278464 */ 
 57409529, /* 57409536 */ 
 57540599, /* 57540608 */ 
 57671671, /* 57671680 */ 
 57802739, /* 57802752 */ 
 57933817, /* 57933824 */ 
 58064861, /* 58064896 */ 
 58195939, /* 58195968 */ 
 58327039, /* 58327040 */ 
 58458091, /* 58458112 */ 
 58589161, /* 58589184 */ 
 58720253, /* 58720256 */ 
 58851307, /* 58851328 */ 
 58982389, /* 58982400 */ 
 59113469, /* 59113472 */ 
 59244539, /* 59244544 */ 
 59375587, /* 59375616 */ 
 59506679, /* 59506688 */ 
 59637733, /* 59637760 */ 
 59768831, /* 59768832 */ 
 59899901, /* 59899904 */ 
 60030953, /* 60030976 */ 
 60162029, /* 60162048 */ 
 60293119, /* 60293120 */ 
 60424183, /* 60424192 */ 
 60555227, /* 60555264 */ 
 60686321, /* 60686336 */ 
 60817397, /* 60817408 */ 
 60948479, /* 60948480 */ 
 61079531, /* 61079552 */ 
 61210603, /* 61210624 */ 
 61341659, /* 61341696 */ 
 61472753, /* 61472768 */ 
 61603811, /* 61603840 */ 
 61734899, /* 61734912 */ 
 61865971, /* 61865984 */ 
 61997053, /* 61997056 */ 
 62128127, /* 62128128 */ 
 62259193, /* 62259200 */ 
 62390261, /* 62390272 */ 
 62521331, /* 62521344 */ 
 62652407, /* 62652416 */ 
 62783477, /* 62783488 */ 
 62914549, /* 62914560 */ 
 63045613, /* 63045632 */ 
 63176693, /* 63176704 */ 
 63307763, /* 63307776 */ 
 63438839, /* 63438848 */ 
 63569917, /* 63569920 */ 
 63700991, /* 63700992 */ 
 63832057, /* 63832064 */ 
 63963131, /* 63963136 */ 
 64094207, /* 64094208 */ 
 64225267, /* 64225280 */ 
 64356349, /* 64356352 */ 
 64487417, /* 64487424 */ 
 64618493, /* 64618496 */ 
 64749563, /* 64749568 */ 
 64880587, /* 64880640 */ 
 65011703, /* 65011712 */ 
 65142769, /* 65142784 */ 
 65273851, /* 65273856 */ 
 65404909, /* 65404928 */ 
 65535989, /* 65536000 */ 
 65667067, /* 65667072 */ 
 65798137, /* 65798144 */ 
 65929211, /* 65929216 */ 
 66060277, /* 66060288 */ 
 66191351, /* 66191360 */ 
 66322427, /* 66322432 */ 
 66453479, /* 66453504 */ 
 66584561, /* 66584576 */ 
 66715643, /* 66715648 */ 
 66846709, /* 66846720 */ 
 66977767, /* 66977792 */ 
 67108859, /* 67108864 */ 
 67239883, /* 67239936 */ 
 67370999, /* 67371008 */ 
 67502063, /* 67502080 */ 
 67633127, /* 67633152 */ 
 67764223, /* 67764224 */ 
 67895251, /* 67895296 */ 
 68026363, /* 68026368 */ 
 68157433, /* 68157440 */ 
 68288503, /* 68288512 */ 
 68419567, /* 68419584 */ 
 68550631, /* 68550656 */ 
 68681719, /* 68681728 */ 
 68812769, /* 68812800 */ 
 68943851, /* 68943872 */ 
 69074933, /* 69074944 */ 
 69205987, /* 69206016 */ 
 69337087, /* 69337088 */ 
 69468151, /* 69468160 */ 
 69599221, /* 69599232 */ 
 69730303, /* 69730304 */ 
 69861331, /* 69861376 */ 
 69992443, /* 69992448 */ 
 70123513, /* 70123520 */ 
 70254563, /* 70254592 */ 
 70385641, /* 70385664 */ 
 70516729, /* 70516736 */ 
 70647793, /* 70647808 */ 
 70778861, /* 70778880 */ 
 70909933, /* 70909952 */ 
 71041021, /* 71041024 */ 
 71172091, /* 71172096 */ 
 71303153, /* 71303168 */ 
 71434229, /* 71434240 */ 
 71565283, /* 71565312 */ 
 71696363, /* 71696384 */ 
 71827423, /* 71827456 */ 
 71958521, /* 71958528 */ 
 72089573, /* 72089600 */ 
 72220663, /* 72220672 */ 
 72351733, /* 72351744 */ 
 72482807, /* 72482816 */ 
 72613861, /* 72613888 */ 
 72744937, /* 72744960 */ 
 72876031, /* 72876032 */ 
 73007089, /* 73007104 */ 
 73138171, /* 73138176 */ 
 73269247, /* 73269248 */ 
 73400311, /* 73400320 */ 
 73531379, /* 73531392 */ 
 73662461, /* 73662464 */ 
 73793521, /* 73793536 */ 
 73924583, /* 73924608 */ 
 74055637, /* 74055680 */ 
 74186747, /* 74186752 */ 
 74317801, /* 74317824 */ 
 74448877, /* 74448896 */ 
 74579951, /* 74579968 */ 
 74711027, /* 74711040 */ 
 74842099, /* 74842112 */ 
 74973181, /* 74973184 */ 
 75104243, /* 75104256 */ 
 75235327, /* 75235328 */ 
 75366397, /* 75366400 */ 
 75497467, /* 75497472 */ 
 75628513, /* 75628544 */ 
 75759613, /* 75759616 */ 
 75890653, /* 75890688 */ 
 76021661, /* 76021760 */ 
 76152821, /* 76152832 */ 
 76283897, /* 76283904 */ 
 76414973, /* 76414976 */ 
 76546039, /* 76546048 */ 
 76677113, /* 76677120 */ 
 76808119, /* 76808192 */ 
 76939253, /* 76939264 */ 
 77070317, /* 77070336 */ 
 77201347, /* 77201408 */ 
 77332471, /* 77332480 */ 
 77463541, /* 77463552 */ 
 77594599, /* 77594624 */ 
 77725691, /* 77725696 */ 
 77856767, /* 77856768 */ 
 77987821, /* 77987840 */ 
 78118903, /* 78118912 */ 
 78249973, /* 78249984 */ 
 78381047, /* 78381056 */ 
 78512101, /* 78512128 */ 
 78643199, /* 78643200 */ 
 78774259, /* 78774272 */ 
 78905303, /* 78905344 */ 
 79036411, /* 79036416 */ 
 79167479, /* 79167488 */ 
 79298543, /* 79298560 */ 
 79429619, /* 79429632 */ 
 79560673, /* 79560704 */ 
 79691761, /* 79691776 */ 
 79822829, /* 79822848 */ 
 79953901, /* 79953920 */ 
 80084969, /* 80084992 */ 
 80216063, /* 80216064 */ 
 80347103, /* 80347136 */ 
 80478199, /* 80478208 */ 
 80609279, /* 80609280 */ 
 80740339, /* 80740352 */ 
 80871419, /* 80871424 */ 
 81002489, /* 81002496 */ 
 81133567, /* 81133568 */ 
 81264587, /* 81264640 */ 
 81395683, /* 81395712 */ 
 81526763, /* 81526784 */ 
 81657841, /* 81657856 */ 
 81788923, /* 81788928 */ 
 81919993, /* 81920000 */ 
 82051043, /* 82051072 */ 
 82182137, /* 82182144 */ 
 82313213, /* 82313216 */ 
 82444279, /* 82444288 */ 
 82575331, /* 82575360 */ 
 82706431, /* 82706432 */ 
 82837501, /* 82837504 */ 
 82968563, /* 82968576 */ 
 83099641, /* 83099648 */ 
 83230717, /* 83230720 */ 
 83361781, /* 83361792 */ 
 83492863, /* 83492864 */ 
 83623931, /* 83623936 */ 
 83754997, /* 83755008 */ 
 83886053, /* 83886080 */ 
 84017117, /* 84017152 */ 
 84148213, /* 84148224 */ 
 84279277, /* 84279296 */ 
 84410353, /* 84410368 */ 
 84541421, /* 84541440 */ 
 84672487, /* 84672512 */ 
 84803581, /* 84803584 */ 
 84934621, /* 84934656 */ 
 85065719, /* 85065728 */ 
 85196789, /* 85196800 */ 
 85327849, /* 85327872 */ 
 85458929, /* 85458944 */ 
 85589989, /* 85590016 */ 
 85721081, /* 85721088 */ 
 85852147, /* 85852160 */ 
 85983217, /* 85983232 */ 
 86114279, /* 86114304 */ 
 86245343, /* 86245376 */ 
 86376443, /* 86376448 */ 
 86507507, /* 86507520 */ 
 86638577, /* 86638592 */ 
 86769647, /* 86769664 */ 
 86900731, /* 86900736 */ 
 87031759, /* 87031808 */ 
 87162857, /* 87162880 */ 
 87293939, /* 87293952 */ 
 87425021, /* 87425024 */ 
 87556087, /* 87556096 */ 
 87687167, /* 87687168 */ 
 87818239, /* 87818240 */ 
 87949307, /* 87949312 */ 
 88080359, /* 88080384 */ 
 88211449, /* 88211456 */ 
 88342519, /* 88342528 */ 
 88473569, /* 88473600 */ 
 88604653, /* 88604672 */ 
 88735721, /* 88735744 */ 
 88866797, /* 88866816 */ 
 88997827, /* 88997888 */ 
 89128939, /* 89128960 */ 
 89260027, /* 89260032 */ 
 89391103, /* 89391104 */ 
 89522171, /* 89522176 */ 
 89653217, /* 89653248 */ 
 89784313, /* 89784320 */ 
 89915383, /* 89915392 */ 
 90046441, /* 90046464 */ 
 90177533, /* 90177536 */ 
 90308599, /* 90308608 */ 
 90439667, /* 90439680 */ 
 90570751, /* 90570752 */ 
 90701797, /* 90701824 */ 
 90832871, /* 90832896 */ 
 90963967, /* 90963968 */ 
 91095013, /* 91095040 */ 
 91226101, /* 91226112 */ 
 91357177, /* 91357184 */ 
 91488251, /* 91488256 */ 
 91619321, /* 91619328 */ 
 91750391, /* 91750400 */ 
 91881443, /* 91881472 */ 
 92012537, /* 92012544 */ 
 92143609, /* 92143616 */ 
 92274671, /* 92274688 */ 
 92405723, /* 92405760 */ 
 92536823, /* 92536832 */ 
 92667863, /* 92667904 */ 
 92798969, /* 92798976 */ 
 92930039, /* 92930048 */ 
 93061117, /* 93061120 */ 
 93192191, /* 93192192 */ 
 93323249, /* 93323264 */ 
 93454307, /* 93454336 */ 
 93585379, /* 93585408 */ 
 93716471, /* 93716480 */ 
 93847549, /* 93847552 */ 
 93978559, /* 93978624 */ 
 94109681, /* 94109696 */ 
 94240733, /* 94240768 */ 
 94371833, /* 94371840 */ 
 94502899, /* 94502912 */ 
 94633963, /* 94633984 */ 
 94765039, /* 94765056 */ 
 94896119, /* 94896128 */ 
 95027197, /* 95027200 */ 
 95158249, /* 95158272 */ 
 95289329, /* 95289344 */ 
 95420401, /* 95420416 */ 
 95551487, /* 95551488 */ 
 95682541, /* 95682560 */ 
 95813621, /* 95813632 */ 
 95944691, /* 95944704 */ 
 96075739, /* 96075776 */ 
 96206839, /* 96206848 */ 
 96337919, /* 96337920 */ 
 96468979, /* 96468992 */ 
 96600041, /* 96600064 */ 
 96731101, /* 96731136 */ 
 96862169, /* 96862208 */ 
 96993269, /* 96993280 */ 
 97124347, /* 97124352 */ 
 97255409, /* 97255424 */ 
 97386467, /* 97386496 */ 
 97517543, /* 97517568 */ 
 97648637, /* 97648640 */ 
 97779701, /* 97779712 */ 
 97910759, /* 97910784 */ 
 98041831, /* 98041856 */ 
 98172887, /* 98172928 */ 
 98303999, /* 98304000 */ 
 98435063, /* 98435072 */ 
 98566121, /* 98566144 */ 
 98697187, /* 98697216 */ 
 98828281, /* 98828288 */ 
 98959337, /* 98959360 */ 
 99090427, /* 99090432 */ 
 99221489, /* 99221504 */ 
 99352567, /* 99352576 */ 
 99483647, /* 99483648 */ 
 99614689, /* 99614720 */ 
 99745787, /* 99745792 */ 
 99876851, /* 99876864 */ 
 100007927, /* 100007936 */ 
 100138979, /* 100139008 */ 
 100270069, /* 100270080 */ 
 100401139, /* 100401152 */ 
 100532207, /* 100532224 */ 
 100663291, /* 100663296 */ 
 100794319, /* 100794368 */ 
 100925431, /* 100925440 */ 
 101056507, /* 101056512 */ 
 101187577, /* 101187584 */ 
 101318647, /* 101318656 */ 
 101449717, /* 101449728 */ 
 101580793, /* 101580800 */ 
 101711839, /* 101711872 */ 
 101842931, /* 101842944 */ 
 101974009, /* 101974016 */ 
 102105049, /* 102105088 */ 
 102236149, /* 102236160 */ 
 102367189, /* 102367232 */ 
 102498301, /* 102498304 */ 
 102629369, /* 102629376 */ 
 102760387, /* 102760448 */ 
 102891499, /* 102891520 */ 
 103022537, /* 103022592 */ 
 103153649, /* 103153664 */ 
 103284733, /* 103284736 */ 
 103415791, /* 103415808 */ 
 103546879, /* 103546880 */ 
 103677949, /* 103677952 */ 
 103809011, /* 103809024 */ 
 103940093, /* 103940096 */ 
 104071157, /* 104071168 */ 
 104202233, /* 104202240 */ 
 104333311, /* 104333312 */ 
 104464369, /* 104464384 */ 
 104595397, /* 104595456 */ 
 104726527, /* 104726528 */ 
 104857589, /* 104857600 */ 
 104988641, /* 104988672 */ 
 105119741, /* 105119744 */ 
 105250811, /* 105250816 */ 
 105381841, /* 105381888 */ 
 105512951, /* 105512960 */ 
 105644029, /* 105644032 */ 
 105775079, /* 105775104 */ 
 105906167, /* 105906176 */ 
 106037237, /* 106037248 */ 
 106168319, /* 106168320 */ 
 106299379, /* 106299392 */ 
 106430449, /* 106430464 */ 
 106561523, /* 106561536 */ 
 106692601, /* 106692608 */ 
 106823677, /* 106823680 */ 
 106954747, /* 106954752 */ 
 107085799, /* 107085824 */ 
 107216891, /* 107216896 */ 
 107347943, /* 107347968 */ 
 107479033, /* 107479040 */ 
 107610079, /* 107610112 */ 
 107741167, /* 107741184 */ 
 107872249, /* 107872256 */ 
 108003323, /* 108003328 */ 
 108134393, /* 108134400 */ 
 108265459, /* 108265472 */ 
 108396521, /* 108396544 */ 
 108527603, /* 108527616 */ 
 108658681, /* 108658688 */ 
 108789727, /* 108789760 */ 
 108920831, /* 108920832 */ 
 109051903, /* 109051904 */ 
 109182947, /* 109182976 */ 
 109314043, /* 109314048 */ 
 109445107, /* 109445120 */ 
 109576189, /* 109576192 */ 
 109707253, /* 109707264 */ 
 109838293, /* 109838336 */ 
 109969403, /* 109969408 */ 
 110100409, /* 110100480 */ 
 110231531, /* 110231552 */ 
 110362559, /* 110362624 */ 
 110493661, /* 110493696 */ 
 110624753, /* 110624768 */ 
 110755793, /* 110755840 */ 
 110886883, /* 110886912 */ 
 111017983, /* 111017984 */ 
 111148963, /* 111149056 */ 
 111280121, /* 111280128 */ 
 111411173, /* 111411200 */ 
 111542261, /* 111542272 */ 
 111673343, /* 111673344 */ 
 111804389, /* 111804416 */ 
 111935459, /* 111935488 */ 
 112066553, /* 112066560 */ 
 112197629, /* 112197632 */ 
 112328683, /* 112328704 */ 
 112459751, /* 112459776 */ 
 112590839, /* 112590848 */ 
 112721893, /* 112721920 */ 
 112852981, /* 112852992 */ 
 112984061, /* 112984064 */ 
 113115133, /* 113115136 */ 
 113246183, /* 113246208 */ 
 113377279, /* 113377280 */ 
 113508319, /* 113508352 */ 
 113639419, /* 113639424 */ 
 113770457, /* 113770496 */ 
 113901553, /* 113901568 */ 
 114032599, /* 114032640 */ 
 114163703, /* 114163712 */ 
 114294721, /* 114294784 */ 
 114425807, /* 114425856 */ 
 114556913, /* 114556928 */ 
 114687977, /* 114688000 */ 
 114819031, /* 114819072 */ 
 114950131, /* 114950144 */ 
 115081189, /* 115081216 */ 
 115212287, /* 115212288 */ 
 115343341, /* 115343360 */ 
 115474417, /* 115474432 */ 
 115605467, /* 115605504 */ 
 115736539, /* 115736576 */ 
 115867627, /* 115867648 */ 
 115998719, /* 115998720 */ 
 116129789, /* 116129792 */ 
 116260849, /* 116260864 */ 
 116391917, /* 116391936 */ 
 116523007, /* 116523008 */ 
 116654077, /* 116654080 */ 
 116785133, /* 116785152 */ 
 116916223, /* 116916224 */ 
 117047291, /* 117047296 */ 
 117178367, /* 117178368 */ 
 117309421, /* 117309440 */ 
 117440509, /* 117440512 */ 
 117571523, /* 117571584 */ 
 117702649, /* 117702656 */ 
 117833711, /* 117833728 */ 
 117964793, /* 117964800 */ 
 118095853, /* 118095872 */ 
 118226893, /* 118226944 */ 
 118358003, /* 118358016 */ 
 118489081, /* 118489088 */ 
 118620143, /* 118620160 */ 
 118751207, /* 118751232 */ 
 118882279, /* 118882304 */ 
 119013347, /* 119013376 */ 
 119144447, /* 119144448 */ 
 119275511, /* 119275520 */ 
 119406587, /* 119406592 */ 
 119537653, /* 119537664 */ 
 119668723, /* 119668736 */ 
 119799803, /* 119799808 */ 
 119930873, /* 119930880 */ 
 120061951, /* 120061952 */ 
 120193019, /* 120193024 */ 
 120324077, /* 120324096 */ 
 120455147, /* 120455168 */ 
 120586231, /* 120586240 */ 
 120717307, /* 120717312 */ 
 120848353, /* 120848384 */ 
 120979447, /* 120979456 */ 
 121110523, /* 121110528 */ 
 121241597, /* 121241600 */ 
 121372649, /* 121372672 */ 
 121503737, /* 121503744 */ 
 121634801, /* 121634816 */ 
 121765871, /* 121765888 */ 
 121896949, /* 121896960 */ 
 122028019, /* 122028032 */ 
 122159101, /* 122159104 */ 
 122290171, /* 122290176 */ 
 122421241, /* 122421248 */ 
 122552317, /* 122552320 */ 
 122683391, /* 122683392 */ 
 122814463, /* 122814464 */ 
 122945527, /* 122945536 */ 
 123076601, /* 123076608 */ 
 123207677, /* 123207680 */ 
 123338737, /* 123338752 */ 
 123469783, /* 123469824 */ 
 123600857, /* 123600896 */ 
 123731963, /* 123731968 */ 
 123863023, /* 123863040 */ 
 123994099, /* 123994112 */ 
 124125161, /* 124125184 */ 
 124256243, /* 124256256 */ 
 124387321, /* 124387328 */ 
 124518397, /* 124518400 */ 
 124649449, /* 124649472 */ 
 124780531, /* 124780544 */ 
 124911601, /* 124911616 */ 
 125042663, /* 125042688 */ 
 125173759, /* 125173760 */ 
 125304787, /* 125304832 */ 
 125435897, /* 125435904 */ 
 125566963, /* 125566976 */ 
 125698021, /* 125698048 */ 
 125829103, /* 125829120 */ 
 125960189, /* 125960192 */ 
 126091241, /* 126091264 */ 
 126222293, /* 126222336 */ 
 126353407, /* 126353408 */ 
 126484469, /* 126484480 */ 
 126615551, /* 126615552 */ 
 126746623, /* 126746624 */ 
 126877693, /* 126877696 */ 
 127008733, /* 127008768 */ 
 127139833, /* 127139840 */ 
 127270849, /* 127270912 */ 
 127401947, /* 127401984 */ 
 127533047, /* 127533056 */ 
 127664113, /* 127664128 */ 
 127795181, /* 127795200 */ 
 127926263, /* 127926272 */ 
 128057327, /* 128057344 */ 
 128188409, /* 128188416 */ 
 128319469, /* 128319488 */ 
 128450533, /* 128450560 */ 
 128581631, /* 128581632 */ 
 128712691, /* 128712704 */ 
 128843761, /* 128843776 */ 
 128974841, /* 128974848 */ 
 129105901, /* 129105920 */ 
 129236959, /* 129236992 */ 
 129368051, /* 129368064 */ 
 129499129, /* 129499136 */ 
 129630199, /* 129630208 */ 
 129761273, /* 129761280 */ 
 129892333, /* 129892352 */ 
 130023407, /* 130023424 */ 
 130154483, /* 130154496 */ 
 130285567, /* 130285568 */ 
 130416631, /* 130416640 */ 
 130547621, /* 130547712 */ 
 130678781, /* 130678784 */ 
 130809853, /* 130809856 */ 
 130940911, /* 130940928 */ 
 131071987, /* 131072000 */ 
 131203069, /* 131203072 */ 
 131334131, /* 131334144 */ 
 131465177, /* 131465216 */ 
 131596279, /* 131596288 */ 
 131727359, /* 131727360 */ 
 131858413, /* 131858432 */ 
 131989477, /* 131989504 */ 
 132120557, /* 132120576 */ 
 132251621, /* 132251648 */ 
 132382717, /* 132382720 */ 
 132513781, /* 132513792 */ 
 132644851, /* 132644864 */ 
 132775931, /* 132775936 */ 
 132907007, /* 132907008 */ 
 133038053, /* 133038080 */ 
 133169137, /* 133169152 */ 
 133300207, /* 133300224 */ 
 133431293, /* 133431296 */ 
 133562329, /* 133562368 */ 
 133693433, /* 133693440 */ 
 133824503, /* 133824512 */ 
 133955581, /* 133955584 */ 
 134086639, /* 134086656 */ 
};

int sf_nearest_prime( int n )
{
    if( n < 0 )
        n = -n;

    if( n < 8192 )
    {
        return prime_table0[(n>>3)& 1023];
    }
    else if( n < 64*1024 )
    {
        return prime_table1[(n>>6)&1023];
    }
    else if( n < 1024*1024 )
    {
        return prime_table2[(n>>10)&1023];
    }
    else if( n < 128*1024*1024 )
    {
        return prime_table3[(n>>17)&1023];
    }
    else if( n < 1024*1024*1024 )
    {
        return prime_table3[(n>>20)&1023];
    }
  
    return 134086639; /* too big for table, just use a big prime */ 
}

